【发布时间】:2017-05-30 00:13:09
【问题描述】:
我正在尝试将使用 roslyn 的解决方案更新到 4.7。 更新 nuget 包时出现以下错误:
在现有 packages.config 文件中检测到一个或多个未解决的包依赖关系约束。必须解决所有依赖约束才能添加或更新包。如果正在更新这些包,则可能会忽略此消息,否则可能会出现以下错误阻止当前包操作:'System.Security.Cryptography.Algorithms 4.3.0 约束:System.IO (>= 4.3.0 )'
然后,在尝试使用 Roslyn 时,运行以下代码时出现异常:
var compilation = CSharpCompilation.Create("MyCompilation", new[] {syntaxTree}, references);
var diag = compilation.GetDiagnostics();
例外是:
发生托管调试助手“BindingFailure” H结果=0x00000000 Message=Managed Debugging Assistant 'BindingFailure' : '显示名称为 'System.Security.Cryptography.Algorithms' 的程序集未能加载到 ID 为 1 的 AppDomain 的 'LoadFrom' 绑定上下文中。原因失败的原因是:System.IO.FileLoadException:无法加载文件或程序集“System.Security.Cryptography.Algorithms,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自 HRESULT 的异常:0x80131040)'
知道如何解决吗?
【问题讨论】: