【发布时间】:2017-10-03 17:57:10
【问题描述】:
使用的 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 roslyn-code-analysis