自从我将“Microsoft.CodeAnalysis.CSharp.Scripting”更新为1.3.2后,我遇到了问题。Roslyn:缺少VSIX包的方法例外
重现步骤:
- 创建VS插件与EditorMargin类。
- 将.NET更改为4.6
- 安装Microsoft.CodeAnalysis.CSharp.Scripting和Microsoft.CodeAnalysis.CSharp。
在构造函数的地方将下面的代码:
var t = new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary)
运行后加载它会抛出一个
缺少方法例外
它无法找到一个CSharpCompilationOptions
的构造函数。我注意到,当我没有安装“Microsoft.CodeAnalysis.CSharp.Scripting”(在上面的例子中不需要)时,一切正常。我想Microsoft.CodeAnalysis.CSharp.Scripting的依赖关系之一会安装一些软件包。
我试图运行“Fuslogvw”,看看是否有任何绑定错误,但我找不到任何有用的东西。
任何想法?
更新 - 我使用Visual Studio 2015年更新3
更新2 我降级 “System.Collections.Immutable” 从1.2.0至37年1月1日,它再次工作。 更新3 我发现报告的bug: https://github.com/dotnet/roslyn/issues/12247
的问题是我需要使用1.2.0,因为罗斯林脚本API使用该版本。
您使用的是哪个版本的Visual Studio 2015? – JoshVarty
它是更新3.我可以准备一个示例来显示异常。它会有用吗? – user3733340
不是绑定错误,因此您必须记录所有绑定。并且您必须查看devenv.exe.config,它是决定要使用哪些版本进行加载的因素,因为IDE也使用这些程序集。有点棘手,当几乎每一个更新会打破你的插件顺便说一句,你可能要等到Roslyn稳定了一下。一年或两年:) –