MonoDevelop“无法恢复包”,Microsoft.NET.TargetFrameworkInference.targets 中的 MSBuild 语法错误

问题描述

我是 Ubuntu 焦点用户,使用 mono develop 在 c# 中编码,但最近换了一台新笔记本电脑,不得不重新安装 mono develop,但是它不能再运行了,因为它总是出现'packages Could not be每当打开任何解决方案时都恢复'。单击此消息(在顶部栏中)会显示包含该消息的包控制台:

/snap/dotnet-sdk/current/sdk/5.0.302/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.TargetFrameworkInference.targets(54,5) :错误 MSB4186:无效的静态方法调用语法: “[MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)')”。 找不到方法“[MSBuild]::GetTargetFrameworkIdentifier”。静止的 方法调用应采用以下形式:$([FullTypeName]::Method()),例如$([System.IO.Path]::Combine(a,b))。检查所有参数 已定义,类型正确,并在右侧指定 命令。无法为项目创建包规范。

接下来是 .csproj 文件的目录

尝试构建项目的结果是:

错误:NuGet 包需要在构建前恢复。 NuGet 缺少 MSBuild 目标,构建时需要这些目标。 NuGet 还原 NuGet 包时生成 MSBuild 目标。 (测试)

(其中Test为项目名称

此外,几乎所有代码都用红色下划线标出,因为即使是基本系统包(在写入文件时工作,而不是作为解决方案的一部分),也无法识别。

版本信息:

  • 操作系统:Ubuntu 20.04
  • 单声道:6.12.0.122
  • monodevelop:7.8.4(构建 2)
  • dotnet:5.0.302
  • dotnet msbuild:16.10.2.30804

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)