c# - 当我尝试使用 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
解决方案
答案是安装 .CSharp.Workspaces NuGet 包。
推荐阅读
- python - 如何使用 Plotly 创建垂直滚动条?
- unreal-engine4 - UE4 如何在 controlRotation 中为 AIController 设置音高
- laravel - 关系 hasOne, hasMany Eloquent 与 MongoDB 返回空数组
- python - Django复选框表单不显示
- asp.net-core - 如何在 ASP.NET Core MVC 中使用现有的 Web 服务?
- r - bit64 NA 不会在 data.frame 构造函数中复制
- python - 在python中组合pandas列并截断小数点而不四舍五入时出现问题?
- python - 使用 GEKKO 模拟具有巨大数组的状态空间方程
- php - PHPUnit:在 TestCase 方法中访问过滤器术语
- python - 在 python/tkinter 中配对/绑定具有动态数量的条目字段的数组