發布獨立控制台應用程序失敗
我安裝了
.NET SDK 2.1.301-win-x64.exe,然後將所有 nuget 包更新為2.1.1.在我的 WebApp 中,我有 Nuget 包
Microsoft.AspNetCore.All 2.1.1和Microsft.NETCore.App 2.1.0. 在 Nuget 視窗中,我看到還有版本 2.1.1,但我無法選擇它(被項目阻止)我的控制台應用程序中的相同故事:
Microsft.NETCore.App 2.1.0我的第一個問題:這裡已經有問題了嗎?或者這是預期的行為?
如果我將 WebApp 建構為自包含的 App,那效果很好。
如果我將控制台應用程序建構為自包含應用程序(自包含 / win-x64)。我得到以下錯誤:
該項目是使用 Microsoft.NETCore.App 2.1.1 版恢復的,但在目前設置下,將使用 2.1.0 版。要解決此問題,請確保將相同的設置用於還原和後續操作(例如建構或發布)。如果在建構或發布期間設置了 RuntimeIdentifier 屬性,但在還原期間未設置,通常會出現此問題。”
此錯誤的來源是引用的項目。
我做錯了什麼?如果您需要其他資訊,請告訴我,然後我會添加。
這是目前已知的問題。在您引用的項目的 csproj 文件中,設置
TargetLatestRuntimePatch屬性:<PropertyGroup> <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> </PropertyGroup>僅當 .NET Core 應用程序引用另一個 .NET Core 應用程序並且自包含前滾僅在發布期間部分啟動時,才會發生這種情況。
對於攜帶式應用程序,目標為 2.1.0 版本就足夠了
Microsoft.NETCore.App,當在目標機器上執行時,將自動使用機器上可用的最新更新檔。在最近的工具中,進行了更改,以便工具將最新的已知更新檔版本用於獨立的應用程序,以便您自動將最新的更新檔版本與您的應用程序捆綁在一起。但是,這不會流向項目到項目的引用。有關更多資訊,請參閱獨立部署執行時前滾。