[英]How to update version of Microsoft.NETCore.App SDK in VS 2017
我有一個最初使用 VS 2015 開發的 ASP.NET Core API 項目。我安裝了 VS 2017 並讓它轉換項目。
然后我轉到項目屬性 -> 應用程序 -> 目標框架並將目標框架更改為 .NETCoreApp 1.1。
一旦我這樣做,我就會收到 2 個錯誤
錯誤 一個或多個項目與 .NETCoreApp,Version=v1.0 不兼容。
錯誤 Project Api 與 netcoreapp1.0 (.NETCoreApp,Version=v1.0) 不兼容。 項目 Api 支持:netcoreapp1.1 (.NETCoreApp,Version=v1.1)
當我檢查Dependencies -> SDK -> Microsoft.NETCore.App -> Properties
它顯示版本1.0.4
和SDK Root
到C:\\Users\\username\\.nuget\\packages\\microsoft.netcore.app\\1.0.4
我已經在我的機器上安裝了Microsoft.NETCore.App
SDK 版本1.1.2
。
當我去 Nuget 包管理器更新 SDK 版本時,它顯示它的自動Autoreferenced
和更新按鈕被禁用。
我如何將項目的 SDK 版本更新為1.1.2
?
還有為什么 VS studio 從C:\\Users\\username\\.nuget\\packages\\microsoft.netcore.app
而不是從C:\\Program Files\\dotnet\\shared\\Microsoft.NETCore.App\\1.1.2
引用 SDK
更新 1
實際上1.1.2
不是 SDK 版本。 截至 2017 年 7 月20 日,最新的 SDK 版本為1.0.4
,運行時版本為1.1.2
在我的機器上我有C:\\Program Files\\dotnet\\sdk\\1.0.4
SDK 和C:\\Program Files\\dotnet\\shared\\Microsoft.NETCore.App\\1.1.2
已安裝C:\\Program Files\\dotnet\\shared\\Microsoft.NETCore.App\\1.1.2
運行時。
所以正如我提到的,當我在 VS 2017 中打開轉換后的項目時,我看到 Dependencies -> SDK ->Microsoft.NETCore.App - Properties version is 1.0.4
and SDK Root is C:\\Users\\username\\.nuget\\packages\\microsoft.netcore.app\\1.0.4
現在我在同一個解決方案中添加了新項目,但是新項目的 Dependencies -> SDK ->Microsoft.NETCore.App -> Properties 版本是 1.1.2 和 SDK root C:\\Users\\username\\.nuget\\packages\\microsoft.netcore.app\\1.1.2
我不確定這里哪個是正確的,轉換后的項目的SDK版本還是新添加的項目的SDK版本?
事實上,如果在 VS 2017 中創建一個全新的項目,我會看到它的 Dependencies -> SDK ->Microsoft.NETCore.App -> Properties version is 1.1.2
1.1.2
SDK 連 SDK 都不可用。 為什么 VS 2017 將運行時版本顯示為 SDK 版本
這是 VS 2017 中的錯誤嗎?
右鍵單擊您的項目並編輯您的csproj
文件。
如果你看到這樣的一行:
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
然后將其更新到1.1.2
或刪除此行。 然后恢復包(可能使用命令行dotnet restore
,我不知道VS是否會自動執行此操作)。
這樣您就可以將Microsoft.NETCore.App
更新到1.1.2
,這應該可以解決您的問題。
我建議您至少將每個項目依賴項更新到 1.1.0 版本,然后再次嘗試更改版本。 畢竟,請確保清理並重建您的解決方案。
就我而言,我有一個使用 .NET Core 3.1 的項目,我想更新到 5.0,這是目前的最新版本。 在csproj文件中,我刪除了減號前面的那一行,並添加了加號前面的那一行,如下圖1所示:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
- <TargetFramework>netcoreapp3.1</TargetFramework>
+ <TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
</Project>
然后,我創建了一個名為global.json的文件,其內容如下:
{
"sdk": {
"version": "5.0.103"
}
}
為此,我使用了命令: dotnet new globaljson --sdk-version 5.0.103
2
最后,我編譯並運行了應用程序並開始工作了!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.