目前,我有一个使用Web API和Net Core 2.0的C#微服务
在nutget软件包中,我已经找到了2.1版的net core,并且我决定安装它以更新我的应用程序。我更改了目标,如下所示
但是当我尝试编译时会生成此错误
使用Microsoft.NETCore.App版本2.1.0恢复了该项目,但在当前设置下,将使用版本2.1.0-rtm-26515-03代替。要解决此问题,请确保将相同的设置用于还原以及后续操作(例如构建或发布)。通常,如果在生成或发布过程中设置了RuntimeIdentifier属性,但在还原过程中没有设置RuntimeIdentifier属性,则可能会发生此问题。
我的依存关系依然如此
答案 0 :(得分:63)
使用Microsoft.NETCore.App版本2.1.0恢复了该项目,但在当前设置下,将使用版本2.1.0-rtm-26515-03代替
此刻是known issue。要解决此问题,您可以尝试以下解决方法:
在TargetLatestRuntimePatch
文件中添加.csproj
属性:
<PropertyGroup>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
</PropertyGroup>
或
在RuntimeFrameworkVersion
中设置RuntimeIdentifier
和.csproj
文件:
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
如果上述解决方法不适合您,请在investigation issue上查看更多解决方法。
答案 1 :(得分:5)
我想发布一个ASP.NET Core 2.1控制台应用程序,但遇到有关碰撞版本2.1.0和2.1.6的错误。
由于我的解决方案中有很多项目(并且VS没有提示我哪些项目存在问题,所以我创建了一个文件Directory.Build.props
并包含以下内容,并将其放置在我的{{ 1}}文件为
.sln
这里重要的是<Project>
<PropertyGroup>
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<GenerateFullPaths>true</GenerateFullPaths>
<LangVersion>latest</LangVersion>
</PropertyGroup>
</Project>
条目。
这样,所有项目都使用相同的设置,而我不必手动进行同步。
Directory.Build.props的文档在此处https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2017
答案 2 :(得分:3)
我已经解决了以下问题:
首先,将以下代码添加到.csproj文件中
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
接下来,检查Microsoft.AspNetCore.App版本是否为2.1.1。如果没有,请安装此版本。
最后,使用2.1.1版本还原您的软件包。要从程序包管理器控制台恢复运行以下代码
Install-Package Microsoft.NETCore.App -Version 2.1.1
答案 3 :(得分:2)
正如@Leo Liu-MSFT所建议的那样,我必须在.csproj文件中设置RuntimeFrameworkVersion
和RuntimeIdentifier
:
<PropertyGroup>
<RuntimeFrameworkVersion>2.1.1</RuntimeFrameworkVersion>
<PlatformTarget>AnyCPU</PlatformTarget>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
但是随后重要,我不得不恢复该解决方案的软件包。
答案 4 :(得分:0)
在将Visual Studio升级到版本16.4.0之后,今天我分别使用版本2.2.7和“但当前设置为2.2.8 ...等。” 来获得此功能。另外,Nuget PackageManager之后会崩溃
该合成产生了多个合成错误... (这里有很多疯狂的东西)
最终通过擦除(即删除其中的所有文件)C:\Users\my.username\AppData\Local\Microsoft\VisualStudio\16.0_79dcc3fa\ComponentModelCache
答案 5 :(得分:0)
我分别构建了项目,发现了一个丢失的参考,并且似乎可以解决这个问题-谢谢低质量的错误消息。
答案 6 :(得分:0)
我的情况。 Visual Studio 在 AppData\Local\Temp 中创建了一个 *.tmp 文件。删除所有 *.tmp 文件后,发布工作正常。