我在尝试使用Microsoft Roslyn加载Visual Studio解决方案或项目时遇到问题。每次我运行以下代码:
Roslyn.Services.Workspace.LoadSolution(solutionFilePath);
我收到以下错误:
类型' System.InvalidCastException'的第一次偶然异常。发生在Roslyn.Services.dll中 附加信息:无法投射透明代理以键入' Roslyn.Utilities.SerializableDataStorage'。
项目设置为" AnyCPU"我杀了" Roslyn.Script"在运行我的代码之前的过程 - 我无法弄清楚发生了什么。
当我在控制台应用程序中运行代码时,代码似乎有效,但它是从自定义Visual Studio 13程序包运行的。
更新:事实证明问题是Roslyn需要在x64二进制文件中运行,但Visual Studio软件包在x86上运行。
如果您安装Roslyn CTP而不是使用NUGet,那么可以解决这个问题: