提问人:Eugene Shelukhin 提问时间:10/24/2023 最后编辑:Eugene Shelukhin 更新时间:10/25/2023 访问量:53
MSBuildWorkspace。工具版本“当前”无法识别
MSBuildWorkspace. The tools version "Current" is unrecognized
问:
当我将某些旧项目加载到 MSBuildWorkspace 中时,出现诊断错误:
msbuild 在处理文件“...SomeProj.csproj“替换为 消息:无法识别工具版本“当前”。可用工具 版本为“2.0”、“3.5”、“4.0”。
和 MetadataReferences 的空列表。
(项目在同一台 PC 上的 VS 2022 中正确打开。
但是,如果我编辑...SomeProj.csproj 文件并删除“ToolsVersion”属性,然后具有 MetadataReferences 的项目将正确加载到 MSBuildWorkspace 中。 如何在不修改csproj文件本身的情况下以编程方式忽略ToolsVersion属性?
我有安装了 VS 2022 的干净窗户。如果我另外安装了构建工具 2019,问题就会停止重现,但必须有一种方法可以避免额外的安装,因为项目在 VS 2022 中正确打开。
答:
0赞
Eugene Shelukhin
10/25/2023
#1
安装 nuget 解决了该问题Microsoft.Build
评论
1赞
Jason Malinowski
11/4/2023
就目前而言,这是一个非常好的答案,但是一旦我合并了 github.com/dotnet/roslyn/pull/70469,就不再需要了。因此,一旦 4.9 NuGet 包发布,你也许可以简化此操作。
评论