【发布时间】:2020-03-25 00:06:27
【问题描述】:
在控制台应用程序中,我一直试图让 OpenSolutionAsync 工作几个星期,但没有成功。
最后我记得查看包含样本的roslyn-sdk repository。我在本地运行名为SolutionExplorer 的示例,它运行良好。我可以选择一个解决方案文件,它可以打开解决方案。
鉴于此示例有效,我决定让我的控制台应用程序与它类似。因此,我将 MSBuildService 和 WorkspaceService(只是更改了日志记录行为)复制到了我的控制台应用程序中。将我的控制台应用程序更改为面向 .NET Framework 的 v4.6.1。引用了完全相同的 nuget 包。我确保删除了 bin 文件夹,并将示例中的 bin 文件夹与为我的项目生成的 bin 文件夹进行了比较。他们是一样的。 然而,当我点击 OpenSolutionAsync() 时,我的控制台应用程序只是退出了进程。
我做错了什么?
更多信息: 我复制了项目here,以便您可以轻松访问它。请提供两个参数来运行项目,例如:
callerid.scanner.exe -p "<path to some solution>" -d "<documentNameToFindInSolution>"
在WorkspaceService的第97行退出进程
【问题讨论】:
-
抛出了什么异常以及它的堆栈跟踪是什么?
标签: c# msbuild roslyn projects-and-solutions