Visual Studio .NET:警告MSB3277:发现不同版本之间存在冲突

时间:2017-09-15 18:46:06

标签: .net visual-studio

错误消息是:

  

警告MSB3277:发现不同版本之间存在冲突   无法解决的相同依赖程序集。这些参考   当日志详细程度设置为时,构建日志中会列出冲突   详细。

这必须是最令人恼火的错误消息之一,因为由于某种原因,他们决定(有一个关于此的线程)不改变如何处理此错误,迫使用户去寻找问题。

我有很多这样的人:

  

'参考:C:\ Program之间发生冲突   文件\ DOTNET \ SDK \ NuGetFallbackFolder \ system.appcontext \ 4.3.0 \参考\ net463 \ System.AppContext.dll”   和'参考:C:\ Program Files(x86)\ Microsoft Visual   工作室\ 2017年\企业\的MSBuild \微软\ Microsoft.NET.Build.Extensions \ net461 \参考\ System.AppContext.dll”。   选择'参考:C:\ Program Files(x86)\ Microsoft Visual   工作室\ 2017年\企业\的MSBuild \微软\ Microsoft.NET.Build.Extensions \ net461 \参考\ System.AppContext.dll”   因为AssemblyVersion'4.1.2.0'大于'4.1.1.0'。

首先,用户/ administrator / .nuget / packages中的旧程序集出错。 我删除了该文件夹。

现在可以在\ program files \ dotnet \ sdk \ NuGetFallbackFolder中找到旧的程序集

整个项目使用.NET 4.7

有没有人看到这个问题?

2 个答案:

答案 0 :(得分:0)

我发现解决方案选项“恢复Nuget包”效果不佳。

简而言之,我必须运行NuGet命令const myController = new Controller(); export default class MyClass extends Component { method_1() { myController.doAllTheStuff(); } method_n() { myController.doAllTheStuff(); } } ,然后在解决方案中整合不同的版本。

由于Resharper构建,我在输出中获得详细调试时遇到了一些问题,我也必须禁用它。我写了一篇关于它的更详细的文章here

答案 1 :(得分:0)

尝试识别(app / web).config文件中的任何硬编码程序集引用。 删除这些文件,并使用dotnet / nuget通过单个packages.config文件还原您的程序包。

相关问题