我有最初使用VS 2015开发的ASP.NET Core API项目。我安装了VS 2017并让它转换项目 然后我转到项目属性 - >应用程序 - >目标框架并将目标框架更改为.NETCoreApp 1.1。
一旦我这样做,我就会得到2个错误
错误一个或多个项目与之不兼容 .NETCoreApp,版本= 1.0。
错误Project Api与netcoreapp1.0(.NETCoreApp,Version = v1.0)不兼容。 Project Api支持:netcoreapp1.1 (.NETCoreApp,版本= 1.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 Package Manager来更新SDK版本时,它会显示其Autoreferenced
并且更新按钮被禁用。
如何将项目的SDK版本更新为1.1.2
?
另外,为什么VS工作室会引用C:\Users\username\.nuget\packages\microsoft.netcore.app
而不是C:\Program Files\dotnet\shared\Microsoft.NETCore.App\1.1.2
更新1
实际上1.1.2
不是SDK版本。 As of 7/20/2017最新的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
运行时。
正如我提到的那样,当我在VS 2017中打开转换项目时,我看到依赖关系 - > SDK - > Microsoft.NETCore.App - 属性版本为1.0.4
,SDK根为C:\Users\username\.nuget\packages\microsoft.netcore.app\1.0.4
现在我在同一个解决方案中添加了新项目,但新项目的依赖项 - > SDK - > Microsoft.NETCore.App - >属性版本为1.1.2,SDK根目录为C:\Users\username\.nuget\packages\microsoft.netcore.app\1.1.2
我不确定这里的哪个是正确的,转换项目的SDK版本或新添加项目的SDK版本?
事实上,如果在VS 2017中创建一个全新的项目,我会看到它的依赖关系 - > SDK - > Microsoft.NETCore.App - >属性版本为1.1.2
1.1.2
SDK甚至没有SDK可用。为什么VS 2017将运行时版本显示为SDK版本
这是VS 2017中的一个错误吗?
答案 0 :(得分:3)
右键单击您的项目并编辑csproj
文件。
如果你看到这样的一行:
<RuntimeFrameworkVersion>1.0.4</RuntimeFrameworkVersion>
然后将其更新为1.1.2
或删除此行。然后恢复包(可能使用命令行dotnet restore
,我不知道VS是否会自动执行此操作)。
这样您就可以将Microsoft.NETCore.App
更新为1.1.2
,这可以解决您的问题。
答案 1 :(得分:0)
我建议您至少更新每个项目依赖项至1.1.0版,然后再尝试更改版本。毕竟确保清理并重建解决方案。
答案 2 :(得分: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
最后,我编译并运行了应用程序并开始工作!