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

Posted

技术标签:

【中文标题】未找到框架 .NETCore,Version=v5.0 的参考程序集【英文标题】:The reference assemblies for framework .NETCore, Version=v5.0 were not found 【发布时间】:2018-08-22 10:53:01 【问题描述】:

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

但是,当我将项目复制到仅安装了 Visual Studio 2017 构建工具的机器(机器 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]

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

我在机器 2 上构建之前进行了 nuget 还原,我可以看到 microsoft.netcore.universalwindowsplatform 在 /.nuget/packages 下成功还原,microsoft.netcore 也是如此。

然而,在机器 1 上,只有 microsoft.netcore.universalwindowsplatform 得到恢复,但它仍然可以通过 Visual Studio 正常构建。

问题:为什么会出现此错误?如何解决此问题?

【问题讨论】:

对我来说,将构建 UWP 应用程序所需的所有东西拼凑在一起是可行的或可能的并不是很明显。他们确实向不同的鼓手进军。讨论设置自动构建的专用 MSDN 页面is here。 所以您的建议是在 VSTS 上使用预配置的 UWP 构建步骤? 当您使用文档化的程序时,您会更容易找到帮助。假设你需要任何东西,期望是你不需要。 也许(虽然不相信它不会出现自己的一系列问题)。但我更喜欢使用我自己的自定义构建步骤,因为预配置的步骤为我提供了大约 1% 的所需功能。但让我感到惊讶的是,在三个移动平台(iosandroid、UWP)上,MSBuild 努力构建您期望最简单的一个......考虑到它们都来自同一家公司。 【参考方案1】:

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

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

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

这个gitHub 帖子引导我找到正确的解决方案。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

我正在寻找完全相同的问题,但据我所知,我安装了正确的 SDK。事实证明,我自己在根目录中放置了一个 global.json,并将 SDK 版本固定为 3.1.404,从而导致了这个问题。 dotnet 遵守 global.json 设置,因此无法找到 5.0 的参考程序集。 删除 global.json 为我解决了这个问题。

【讨论】:

这也是我的问题。 global.json 不在 Visual Studio 的解决方案资源管理器中,但确实在项目根目录中。 这是真正的答案。没有人会在没有安装 NET5 的情况下尝试创建/构建项目,这是没有意义的。但是,当从 3.1 升级时,这里的这个问题可能会咬你一口,因为没有人记得这个配置文件。【参考方案4】:

没有找到框架 .NETCore 的参考程序集,Version=v5.0

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

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

要安装它,请确保安装以下单个组件:

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

希望这会有所帮助。

【讨论】:

非常感谢,我会试试这个。但是,构建工具安装程序中不提供“通用 Windows 平台开发”工作负载。您发布的屏幕截图似乎来自 VS Enterprise 安装程序。 @Ash,啊哈哈,我忘了他们是不同的。但是直接复制应该可以解决此错误。现在我更新了答案,您可以检查它是否适合您。 “.NET 框架 SDK”?你应该直接说Windows SDK,可以单独下载,developer.microsoft.com/en-us/windows/downloads/windows-10-sdk @Leo 我应该提到我正在使用 C#(我已经为我的问题编辑了标签)。鉴于此,我还需要 C++ 的 SDK 吗?在我发布这个问题之前,我已经尝试为 UWP:C#、VB、JS 安装 WIndows 10 SDK (10.0.16299.0),所以我想这不起作用。 @Leo 我可以看到我在机器 1 上您提到的位置确实有一个 .NETCore v5.0 框架的文件夹。我目前无法访问机器 2,但是当我这样做并更新你时,我会试试这个。【参考方案5】:

以下步骤对我有用。

在 Visual Studio 中打开视图 -> 终端并输入:dotnet new global.json

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

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

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

global.json 看起来像这样

【讨论】:

【参考方案6】:

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

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

【讨论】:

【参考方案7】:

如果未安装 .NET 5.0 SDK,则会显示此错误。请注意,您必须下载正确的 sdk: dotnet-sdk-5.0.401-win-x64.exe 或 dotnet-sdk-5.0.401-win-x86.exe 取决于您的安装(对于 Visual Studio Code 或您的 Windows)在路径 https:// dotnet.microsoft.com/download/dotnet/5.0 你可以下载。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。【参考方案8】:

我有同样的错误信息

enter image description here

1- 打开 Visual Studio 安装程序 2- 将 Visual Studio 2019 的版本更新到 16.11 或更高版本 3- 重启你的项目

【讨论】:

以上是关于未找到框架 .NETCore,Version=v5.0 的参考程序集的主要内容,如果未能解决你的问题,请参考以下文章

C++学习(三五二)未找到框架“.NETFramework,Version=v4.0”的引用程序集

CYQ.Data V5 分布式缓存MemCached应用开发介绍

未找到 Microsoft.NetCore.App 或 Microsoft.AspNetCore.App 的指定版本

未找到log4net .netcore 3.1方法

该程序无法找到 MediatR 查询 ASP.Net Core 的处理程序

TypeError.无法读取未定义的'$__'属性。无法读取未定义的'$__'属性 - Mongoose v5.^。