我使用dotnet创建了一个示例项目,但在构建项目时出现以下错误:
错误:使用Microsoft.NETCore.App版本2.1.0-rc1恢复了项目,但使用当前设置时,将使用版本2.1.0-preview3-26411-06。要解决此问题,请确保使用相同的设置进行还原以及后续操作(如构建或发布)。通常,如果在构建或发布期间设置了RuntimeIdentifier属性,但在还原期间未设置,则会发生此问题。
有什么问题?我正在使用VS 2017 build 15.7.0
答案 0 :(得分:17)
我有类似的错误消息:
使用Microsoft.NETCore.App版本2.0.7还原了该项目,但使用当前设置,将改用版本2.0.0。要解决此问题,请确保将相同的设置用于还原以及后续操作(例如构建或发布)。通常,如果在构建或发布过程中设置了RuntimeIdentifier属性,但在还原过程中未设置RuntimeIdentifier属性,则会发生此问题
我在.csproj文件中添加了RuntimeFrameworkVersion设置,它为我解决了一个问题:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<RuntimeFrameworkVersion>2.0.7</RuntimeFrameworkVersion><!--here is the fix-->
</PropertyGroup>
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.0.7" />
</ItemGroup>
答案 1 :(得分:10)
似乎VS使用不同的.net核心版本进行还原/构建/发布。 要解决此问题,可以在.csproj文件中添加TargetLatestRuntimePatch属性:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
有关详细信息,请参见this page。
答案 2 :(得分:2)
就我而言,在csproj文件中我改变了
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.0.5" />
</ItemGroup>
带
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.1.0" />
</ItemGroup>
并且有效
答案 3 :(得分:1)
我安装了dot net SDK 2.2.0,发现这不是正确的版本,正确的版本重命名为2.1.300,与最新版本为2.1.0的notnetcore app同步。我安装了2.1.300,一切都正常运行。
答案 4 :(得分:1)
仅因为您已安装了最新的SDK,并不意味着您已安装了最新的运行时。我永远不会完全明白。
运行dotnet --info
我得到了以下内容(仅在此处显示最新安装的版本)。
.NET Core SDKs installed:
2.1.300 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:d\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
dotnet --info
也给了我2.1.1
。将以下内容添加到我的.csproj文件中的PropertyGroup中(卸载项目并进行编辑)
netcoreapp2.1 2.1.1
现在,我认为我们不再需要指定此名称,并且此csproj今天才刚刚创建,并且根本没有运行时版本。无论我们应该做什么,这对我来说都是有效的。我还发现了关于massive thread与2.1.1进行版本控制的信息,但是我略过了一点,但是现在看来点发行存在复杂性,因此也许这个特定的版本是必要的。
由于这个错误,我到了这里
错误:使用Microsoft.NETCore.App版本还原了项目 2.1.1,但使用当前设置,将改用版本2.1.0。要解决此问题,请确保将相同的设置用于 恢复并用于后续操作,例如构建或发布。 通常,如果RuntimeIdentifier属性为 在构建或发布期间设置,但不在还原过程中设置。
添加RuntimeFrameworkVersion是适用于此功能的特定修复程序。
不幸的是,没有此错误消息的链接文章,这会有所帮助。
答案 5 :(得分:0)
对于我来说,此问题已通过确保我有两个项目得以解决,其中一个项目取决于另一个项目。一个项目在csproj文件中指定了RuntimeIdentifier,而另一个项目则没有。一旦我确保两个都具有匹配的RuntimeIdentifiers,问题就解决了。
答案 6 :(得分:0)
我遇到的具体错误是
error : NETSDK1061: The project was restored using Microsoft.NETCore.App version 2.0.5, but with current settings, version 2.1.1 would be used instead.
我有
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.0.5" />
</ItemGroup>
进一步查找文件。一旦删除并执行clean
,项目就成功构建了。
答案 7 :(得分:0)
经历相同:
The project was restored using Microsoft.NETCore.App version 2.1.2, but with current settings, version 2.1.0 would be used instead.
从--self-contained false
命令中删除显式设置的dotnet publish
似乎对我们有用。默认设置为相同,所以为什么不起作用,我不知道。
这是SDK版本2.1.400的版本。
答案 8 :(得分:-1)
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<UserSecretsId>aspnet-...............245435</UserSecretsId>
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.1" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="Microsoft.NETCore.App" Version="2.1.1" />
</ItemGroup>