无法在 VSIX 项目中加载文件或程序集“Microsoft.CodeAnalysis.Workspaces,版本=2.3.0.0

Could not load file or assembly 'Microsoft.CodeAnalysis.Workspaces, Version=2.3.0.0 in VSIX project

Microsoft.CodeAnalysis 使用的版本:2.3.2

重现步骤:

使用 .Net Framework 4.6 在 Visual Studio 2015 Update 3 中创建一个 VSIX (c#) 项目 将最新的 Microsoft.CodeAnalysis 库添加到 VSIX 项目 将菜单命令添加到 VSIX 项目 在菜单命令操作中添加以下代码

string projectFilePath = @"C:\ConsoleApp1\ConsoleApp1.csproj";
string outputFilePath = @"C:\ConsoleApp1\ConsoleApp1.dll";
Project project = null;

    using (var workspace = MSBuildWorkspace.Create())
    {
        project = workspace.OpenProjectAsync(projectFilePath).Result;
        var compilation = project.GetCompilationAsync().Result;
        var compilationStatus = compilation.Emit(outputFilePath);
        bool isSuccess = compilationStatus.Success; 
    }

预期行为: Roslyn 应该能够编译项目并将输出发送到目标位置。

实际行为: 调用命令时出现以下异常

无法加载文件或程序集 'Microsoft.CodeAnalysis.Workspaces, Version=2.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。系统找不到指定的文件。

注意: 当 Microsoft.CodeAnalysis 的版本降级到 1.3.2

时,不会发生错误并且命令成功执行

如果此问题有可用的修复程序,请告诉我。

参见 。 Roslyn 1.3.2 是可与 Visual Studio 2015 Update 3

配合使用的最新版本