Dot-Net

預設情況下阻止 .NET Core 3.0 建構 EXE 文件

  • October 28, 2020

在 .NET Core 3.0 中,在建構過程中添加了一個小功能。據微軟稱:

.NET Core 現在預設建構依賴於框架的執行檔。對於使用全域安裝的 .NET Core 版本的應用程序,此行為是新的。

我已經搜尋過了,但我找不到阻止這種情況的方法。不幸的是,這個執行檔在將我的應用程序推送到 Cloud Foundry 時給我帶來了問題,因為當它應該使用為我的應用程序建構的 DLL 文件使用 dotnet cli 執行它時,它現在認為它是一個獨立的 EXE 文件。

有沒有辦法阻止這個預設的 EXE 被建構?

我總是可以在我的建構過程中添加最後一步來刪除它,但似乎應該有一種方法可以從一開始就阻止它。

@PeterHuene 和 @vcsjones 在上面的評論中完美地回答了這個問題:

UseAppHost屬性可以設置為 false(例如/p:UseAppHost=false在命令行上),這將禁用執行檔的創建。

或者

作為命令行更改的替代方法,您也可以<UseAppHost>false</UseAppHost>在 .csproj 中進行設置<PropertyGroup>

引用自:https://stackoverflow.com/questions/58491492