[英]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.