未找到框架.NETCore,Version = v5.0的引用程序集

时间:2018-03-14 02:13:55

标签: c# visual-studio msbuild .net-core

我有一个使用Visual Studio 2017创建的UWP项目。它在这台机器(机器1)上构建良好。

但是,当我将项目复制到我只安装了Visual Studio 2017 Build Tools的机器(机器2)并尝试使用MSBuild构建它时,我收到以下错误:

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Microsoft.Common.CurrentVersion.targets
(1126,5): error MSB3644: The reference assemblies for framework ".NETCore,Version=v5.0" were not found. To resolve this
, install the SDK or Targeting Pack for this framework version or retarget your application to a version of the framewo
rk for which you have the SDK or Targeting Pack installed. Note that assemblies will be resolved from the Global Assemb
ly Cache (GAC) and will be used in place of reference assemblies. Therefore your assembly may not be correctly targeted
 for the framework you intend. [<path_to_my_UWP_project>\UWP.csproj]

我怀疑.NetCore v5.0需要来自我的UWP.csproj文件中的这一行:

  

&LT; PackageReference   包括=&#34; Microsoft.NETCore.UniversalWindowsPlatform&#34;版本=&#34; 6.0.1&#34;   /&GT;

我在构建机器2之前进行nuget恢复,我可以看到microsoft.netcore.universalwindowsplatform成功恢复到&lt; C_Users_me&gt; /.nuget / packages,以及microsoft.netcore。

在计算机1上,只有microsoft.netcore.universalwindowsplatform可以恢复,但它仍可通过Visual Studio构建。

问题:为什么我会收到此错误,如何解决问题?

6 个答案:

答案 0 :(得分:18)

我收到了同样的错误信息。 解决方案是安装最新版本的 Visual Studio 2019。我的计算机上安装了 16.6 版。我需要安装 16.8 版。安装完成后,错误消息消失了。

这个问题的最初原因:我从另一个人那里收到了一个 VS C# 解决方案。显然,解决方案中有一些内容表明它需要一些库 (.NETFramework v=5.0),而该库不在 1.64 中,但在 16.8 中。

VS 错误信息上的帮助说明没有帮助;目前没有.NETFramework,版本=v5.0。只有 .NET Core Version=5.0 或 .NetFramework Version=v4.8

这篇 gitHub 帖子让我找到了正确的解决方案。

enter image description here

答案 1 :(得分:4)

您需要使用Visual Studio 2019 16.8 Preview 2或更高版本才能使用.NET 5 Preview8。.NET5从此处https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes-preview下载

答案 2 :(得分:2)

以下步骤对我有用。

在 Visual Studio 中打开 View -> Terminal 并输入:dotnet new global.json

打开解决方案的根文件夹并编辑新创建的文件“global.json”,必须输入安装的 .net 版本的确切名称。

要查看所有已安装的 .net core sdk,请在命令中输入 dotnet --list-sdks

enter image description here

在global.json文件中添加正确的版本,右键解决方案,选择Restore Nuget Packages或者重启visual studio。

global.json 看起来像这样

enter image description here

答案 3 :(得分:1)

  

未找到框架.NETCore,Version = v5.0的引用程序集

根据错误日志,您的计算机上似乎缺少.NET框架SDK(.NET核心版本,v5.0)。您可以从以下目录中检查它:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v5.0

要安装它,请确保按照单个组件进行安装:

enter image description here

如果您仍然遇到该错误,请尝试将目录C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v5.0从计算机1复制到计算机2.

希望这有帮助。

答案 4 :(得分:1)

我一直在追寻完全相同的问题,但就我所知,我已经安装了正确的SDK。事实证明,我是通过在根目录中放置一个global.json并将SDK版本固定为3.1.404自己引起的。 dotnet遵守global.json设置,因此找不到5.0的引用程序集。 删除global.json可以解决我的问题。

答案 5 :(得分:1)

看看你有 Microsoft Visual Studio v16.8 或更高版本。

更新 VS 版本 -> 帮助 -> 检查更新