簡體   English   中英

如何在 VS 2017 中更新 Microsoft.NETCore.App SDK 的版本

[英]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.4SDK RootC:\\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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM