我正在调查这个问题,并得到许多不同的建议,有人可以帮助您详细说明该主题吗?
我正在寻找简短的评论以获取指导。
编辑:
观众是来自世界各地的需要注册的用户。
当我尝试构建一个针对许多框架(包括“.net 6.0”和/或 netstandardX.X Visual Studio 2017)的项目时。即使在安装了 .NET 6.0 后,该主题的错误仍然发生,其中包括:
(x 取决于版本)
此外,解决方案资源管理器的依赖项显示错误(参见屏幕截图)
我安装的sdk与“global.json”文件内容兼容:
{
"sdk": {
"version": "6.0.401",
"allowPrerelease": false,
"rollForward": "feature"
}
}
Run Code Online (Sandbox Code Playgroud)
整个错误消息:
严重性代码 说明 项目文件行抑制状态错误 MSB3644 找不到框架“.NETFramework,Version=v6.0”的参考程序集。要解决此问题,请安装此框架版本的 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位您想要的框架。
但此消息也适用于所有丢失或无法识别的依赖项。
.csproj 文件(目标框架):
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.1;netstandard2.0;net45;net48;netstandard1.5;net40;net35;net20;net6.0</TargetFrameworks>
</PropertyGroup
<PropertyGroup Condition="'$(TargetFramework)' == 'net20' ">
<DefineConstants>$(DefineConstants);LEGACY</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net35' ">
<DefineConstants>$(DefineConstants);LEGACY</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net40' ">
<DefineConstants>$(DefineConstants);LEGACY</DefineConstants>
</PropertyGroup> …Run Code Online (Sandbox Code Playgroud) target-framework visual-studio-2017 .net-standard-2.0 .net-standard-2.1 .net-6.0