自從我將「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穩定了一下。一年或兩年:) –