在尝试编译解决方案时,我收到以下构建错误:
错误MSB3644框架的引用程序集 未找到“.NETFramework,Version = v4.6.2”。要解决这个问题, 为此框架版本安装SDK或Targeting Pack 将您的应用程序重新定位到您所使用的框架版本 安装了SDK或Targeting Pack。请注意,程序集将是 从全局程序集缓存(GAC)解决并将用于 参考组件的地方。因此你的装配可能不是 正确定位您想要的框架。 C:\ RPR \ Dev \ Libraries \ Common \ Common.csproj C:\ Program Files (x86)\ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 1111
我已经尝试安装.NET Framework 4.6.2 SDK以及4.6 Targeting Pack,但是我已经安装了它的两个错误。我也尝试过安装Visual Studio 2017,但它仍然会出现同样的错误。
有什么想法吗?
答案 0 :(得分:78)
事实证明我安装了.NET Framework v4.6.2,而不是4.6.2的Developer Pack。卫生署!
https://www.microsoft.com/en-us/download/details.aspx?id=53321
答案 1 :(得分:30)
Windows->搜索-> Visual Studio安装程序->修改->单个组件并检查正确的版本
答案 2 :(得分:8)
安装4.6.2开发包对我不起作用。
答案 3 :(得分:7)
除构建“ .NETFramework,Version = v4.7.1”外,我在构建时遇到了完全相同的错误。
我从此处下载了用于4.7.1的开发人员包:https://www.microsoft.com/en-us/download/confirmation.aspx?id=56119
该软件包在目标计算机(我的构建服务器)上安装了这些程序。
当我再次尝试构建时,我再也没有收到错误,并且构建成功。
答案 4 :(得分:3)
从2019年5月开始,您可以在至少安装了MSBuild或.NET Core SDK的任何计算机上,在net20到net48(包括ne461)上构建项目,而无需安装Developer Pack。 / p>
如果您的计算机中安装了.NET Core SDK,则将nuget软件包Microsoft.NETFramework.ReferenceAssemblies添加到您的项目中
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" Version="1.0.0-preview.2">
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
该软件包包括从net20到net48的所有ReferenceAssemblies
通过这些软件包,可以在至少装有MSBuild或.NET Core SDK以及其他方案的任何计算机上构建.NET Framework项目。
有关更多详细信息: https://github.com/Microsoft/dotnet/tree/master/releases/reference-assemblies
答案 5 :(得分:1)
对于4.7.2期,我必须去这里:https://dotnet.microsoft.com/download/dotnet-framework/net472
按照图片所示安装Download .NET Framework 4.7.2开发人员包以解决此问题。
答案 6 :(得分:0)
我正在使用ubuntu并遇到相同的问题。即使在我为ubuntu下载了最新的vscode和mono之后,它仍然无法正常工作。然后我发现了this。
基本上,如果您已经安装了单声道,则进入设置并设置
“ omnisharp.useGlobalMono”:“始终”。
希望它可以解决您的问题。
答案 7 :(得分:0)
您可以在 Visual Studio C# 扩展设置中找到这个 omnisharp 设置并转到底部。