我有一个项目,目标框架是.net标准2.0,我们在源代码中使用了System.Runtime.InteropServices.RuntimeInformation.OSDescription
,但是该库不支持.net框架4.6.1。昨天,我们的一位客户报告有关此问题的错误。他的本地框架是.net框架4.6.1。
我可以设置目标框架以在用户添加Nuget包中的引用时通知用户吗?
为了使用户知道您的本地框架是否为4.6.1,请勿使用此版本程序包,否则将导致错误。
当我将目标框架设置为:
<PropertyGroup>
<TargetFrameworks>netstandard2.0;net471</TargetFrameworks>
<PropertyGroup/>
然后运行dotnet build
,我收到错误消息:
错误MSB3644:找不到框架“ .NETFramework,Version = v4.7.1”的参考程序集。 要解决此问题,请为此框架版本安装SDK或Targeting Pack 或将应用程序重新定位到已安装SDK或Targeting Pack的框架版本。 请注意,程序集将从全局程序集缓存(GAC)中解析,并将代替参考程序集。 因此,您的程序集可能未正确定位到您想要的框架。
然后我去办公室网站下载.net framework 4.7.1 SDK,但安装失败。 错误消息是
此计算机上已安装.NET Framework 4.7.1或更高版本
所以我很困惑!
答案 0 :(得分:0)
似乎在开玩笑,我从.net framework 4.7.1下载了.net框架4.7.1,但无法安装。但是,当我使用Visual Studio安装程序安装.net Framework 4.7.1时。没关系。
现在运行dotnet build
,成功了。我更困惑,为什么无法从.exe文件安装它。