繁体   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