2016-08-14 6 views
2

"Microsoft.CodeAnalysis.CSharp.Scripting"을 1.3.2로 업데이트 한 이후로 문제가 있습니다.Roslyn : VSIX 패키지의 누락 된 메서드 예외

단계 재현 :

  1. 은 VS 만들기 추가 기능 EditorMargin 클래스와.
  2. .NET을 4.6으로 변경하십시오.
  3. Microsoft.CodeAnalysis.CSharp.Scripting 및 Microsoft.CodeAnalysis.CSharp를 설치하십시오. ctor에 어딘가에서 다음 코드를 넣습니다
  4. : 실행 후

    var t = new CSharpCompilationOptions(OutputKind.DynamicallyLinkedLibrary) 
    

을 추가 기능에서이

누락 방법의 예외가 발생합니다

은 찾을 수 없습니다 CSharpCompilationOptions의 생성자. 나는 "Microsoft.CodeAnalysis.CSharp.Scripting"(위의 경우에는 필요하지 않음)을 설치하지 않으면 모든 것이 작동 함을 알았습니다. Microsoft.CodeAnalysis.CSharp.Scripting의 종속성 중 하나가 일부 패키지를 설치합니다.

"Fuslogvw"를 실행하여 바인딩 오류가 있는지 확인하려고했지만 유용한 정보가 없습니다.

아이디어가 있으십니까?

업데이트 - 난 비주얼 스튜디오 2015 업데이트 3

업데이트 2 내가 1.1.37에 1.2.0에서 "System.Collections.Immutable"을 다운 그레이드하고 다시 작동을 사용합니다. 로슬린 스크립트 API 버전 것을 사용하기 때문에 https://github.com/dotnet/roslyn/issues/12247

문제는 제가 1.2.0을 사용할 필요가 있습니다 : 업데이트 3 내가보고 된 버그를 발견.

+0

사용중인 Visual Studio 2015의 버전은 무엇입니까? – JoshVarty

+0

업데이트 3. 예외를 보여주기 위해 샘플을 준비 할 수 있습니다. 유용할까요? – user3733340

+0

바인드 오류가 아니므로 모든 바인드를 로그해야합니다. 그리고 devenv.exe.config를 살펴 봐야합니다. IDE가 이러한 어셈블리를 사용하기 때문에 어떤 버전이로드 될지 결정합니다. 모든 업데이 트가 당신의 addin btw를 깨뜨릴 때 까다로운, Roslyn이 조금 안정화 될 때까지 기다리고 싶을지도 모른다.1 년 또는 2 년) –

답변

0

패키지 버전 1.3.2를 타겟팅하는 경우 Visual Studio 2015 Update 3을 타겟팅한다는 의미입니다. 설치되어 있지 않은 것으로 추측됩니다. 이전 버전 (예 : 업데이트 2를 타겟팅하는 경우 1.2, 업데이트 1을 타겟팅하는 경우 1.1)으로 다운 그레이드하거나 VS를 최신 버전으로 업그레이드하십시오.

+0

VS 2015 업데이트 3을 사용합니다. – user3733340

1

나에 대한 현재의 해결 방법은 "System.Collections.Immutable 1.1.37"

0

내가 비주얼 스튜디오 2017 설치이 문제를 해결할 수 있었다 작동 버전에 Microsoft.CodeAnalysis.Csharp.Scripting를 다운 그레이드하는 것입니다 VS 2017은 다른 Roslyn 버전과 충돌하지 않는 System.Collection.Immutable 1.2.1.0이 필요합니다.