Roslyn LoadProjectFromCommandLineArguments语言参数?

时间:2013-03-10 14:47:40

标签: c# roslyn

我正在创建一个使用Roslyn进行代码分析的自定义MSBuild任务。 我已经阅读了you cannot call Workspace.LoadStandAloneProject,您必须使用Workspace.LoadProjectFromCommandLineArguments。

好的,但是我应该为第二个参数(语言)指定什么?这是一个字符串,而不是一个枚举,并且没有整个互联网上的信息。我试过“cs”,“c#”,“CSharp”,“vb”,“vb.net”,然后我放弃了猜测。我alwalys得到错误:“语言'...'不受支持。”

它有用吗?什么是C#的正确字符串?

2 个答案:

答案 0 :(得分:2)

使用LanguageNames.CSharp

顺便说一句 - 制作这样一个构建任务的样本已经在我的待办事项列表上很长一段时间了。如果您可以发布基本代码(没有您的具体分析),那么您将非常感激!

答案 1 :(得分:1)

经过大量的i​​ldasm ing,我找到了它。

  • " C#" (区分大小写,有资本' C')
  • " Visual Basic" (也区分大小写)

你可以在反汇编中找到它 Roslyn.Services.CSharp.CSharpProjectFileLoaderService :: get_Language() 和 Roslyn.Services.VisualBasic.VisualBasicProjectFileLoaderService :: get_Language()