在我的一个项目中,Visual Studio表示它无法找到命名空间系统和类似的Microsoft标准程序集。它也无法在其依赖的其他解决方案中加载其他项目。
为了澄清,它已经构建,但是该项目中引用另一个项目的几乎每一行都有一个波浪形的红色"错误"下划线
加载此解决方案时,或尝试向此项目添加依赖项时(通过右键单击依赖项并选择'添加引用...',我收到此消息:
具有相同键但具有不同值的元素已存在。 密钥:Microsoft.CodeAnalysis.CSharp
csproj文件的顶部是:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<NoWarn>$(NoWarn)</NoWarn>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
</PropertyGroup>
答案 0 :(得分:1)
事实证明,{。1}}程序集在.csproj中被引用了两次,删除副本修复了问题。
答案 1 :(得分:0)
几天前我遇到了同样的问题。实际上,当您升级到Visual Studio 2017并尝试运行在旧版本的VS上创建的项目时,会出现此问题。
1)首先,您要使Target Framework对项目中的每个模块都相同。
2)然后,您可能必须为所有模块升级具有最新版本的Nuget软件包。
3)添加缺失的参考文献。
4)以管理员身份运行VS,清理并重新构建它。
您将获得解决方案。