首页 > 解决方案 > 当我尝试使用 OpenProjectAsync 打开项目时,为什么 msbuild 会出现“不支持语言“C#””错误

问题描述

所以我有这个代码:

 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;

我想要做的是:加载解决方案和其中的每个项目。加载解决方案有效,没有错误。但是当我尝试加载/打开一个项目时,我收到此错误:未处理的异常:System.AggregateException:发生了一个或多个错误。(项目“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#”。

我该如何摆脱这个错误?

编辑:我使用安装了这些 Nuget 的 .NET Core 2.1:

微软.Build;Microsoft.Build.Framework;Microsoft.Build.Locator;Microsoft.Build.Utilities.Core;全部在 v16.7.0 上

Microsoft.CodeAnalysy.CSharp;Microsoft.CodeAnalysis.Workspaces.MSBuild v3.4.0

标签: c#msbuildroslyn

解决方案


答案是安装 .CSharp.Workspaces NuGet 包。


推荐阅读