当我尝试使用 OpenProjectAsync 打开项目时,为什么 msbuild 会给我一个 "language "C#“不支持”错误
Why does msbuild give me a "language "C#" not supported" error when I try to open a project with OpenProjectAsync
所以我有这个代码:
string path = Path.GetFullPath(@"C:\Users\Umut\source\repos\frmMain\frmMain.sln");
string path2 = Path.GetFullPath(@"C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj");
var workspace = MSBuildWorkspace.Create();
Solution solution = workspace.OpenSolutionAsync(path).Result;
Project project = workspace.OpenProjectAsync(path2).Result;
我想要做的是:加载解决方案和其中的每个项目。加载解决方案有效,没有错误。但是当我尝试 load/open 一个项目时,我得到了这个错误:未处理的异常:System.AggregateException:发生了一个或多个错误。 (Projekt "C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj" kann nicht geöffnet werden, da die Sprache "C#" nicht unterstützt wird.) ---> System.InvalidOperationException: Projekt "C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj " kann nicht geöffnet werden, da die Sprache "C#" nicht unterstützt wird。
德语部分说:“无法打开项目,因为不支持语言“C#”。
如何摆脱这个错误?
编辑:我使用 .NET Core 2.1 并安装了这些 Nugets:
Microsoft.Build; Microsoft.Build.框架; Microsoft.Build.定位器; Microsoft.Build.Utilities.Core;全部在 v16.7.0
Microsoft.CodeAnalysy.CSharp; Microsoft.CodeAnalysis.Workspaces.MSBuild v3.4.0
答案是安装 .CSharp.Workspaces NuGet 包。
所以我有这个代码:
string path = Path.GetFullPath(@"C:\Users\Umut\source\repos\frmMain\frmMain.sln");
string path2 = Path.GetFullPath(@"C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj");
var workspace = MSBuildWorkspace.Create();
Solution solution = workspace.OpenSolutionAsync(path).Result;
Project project = workspace.OpenProjectAsync(path2).Result;
我想要做的是:加载解决方案和其中的每个项目。加载解决方案有效,没有错误。但是当我尝试 load/open 一个项目时,我得到了这个错误:未处理的异常:System.AggregateException:发生了一个或多个错误。 (Projekt "C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj" kann nicht geöffnet werden, da die Sprache "C#" nicht unterstützt wird.) ---> System.InvalidOperationException: Projekt "C:\Users\Umut\source\repos\frmMain\geometryLib\geometryLib.csproj " kann nicht geöffnet werden, da die Sprache "C#" nicht unterstützt wird。
德语部分说:“无法打开项目,因为不支持语言“C#”。
如何摆脱这个错误?
编辑:我使用 .NET Core 2.1 并安装了这些 Nugets:
Microsoft.Build; Microsoft.Build.框架; Microsoft.Build.定位器; Microsoft.Build.Utilities.Core;全部在 v16.7.0
Microsoft.CodeAnalysy.CSharp; Microsoft.CodeAnalysis.Workspaces.MSBuild v3.4.0
答案是安装 .CSharp.Workspaces NuGet 包。