TransformXml任务通过使用mono的linux上的msbuild失败

按照本回答中的步骤操作后,尝试通过mono(使用msbuild)构建项目时,出现以下错误:

(AfterCompile target) – > project.csproj(469,5):错误MSB4062:无法从程序集中加载“TransformXml”任务/usr/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/Web/Microsoft .Web.Publishing.Tasks.dll。 确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。

看起来好像Microsoft.Web.Publishing.Tasks.dll不可用。

在linux上通过mono,这个文件不存在。 若要解决此问题,请按照下列步骤操作:

  1. 安装nuget包MSBuild.Microsoft.VisualStudio.Web.targets
  2. 右键单击您的项目,然后单击“卸载项目”
  3. 右键单击(现在已卸载)项目,然后单击“编辑MyProjectName.csproj”
  4. 替换此行:
  

使用更新的nuget Microsoft.Web.Publishing.Tasks.dll位置(根据需要在MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3更新版本名称):

  
  1. 重新加载你的项目,瞧,在linux上工作!