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,这个文件不存在。 若要解决此问题,请按照下列步骤操作:
- 安装nuget包MSBuild.Microsoft.VisualStudio.Web.targets
- 右键单击您的项目,然后单击“卸载项目”
- 右键单击(现在已卸载)项目,然后单击“编辑MyProjectName.csproj”
- 替换此行:
使用更新的nuget Microsoft.Web.Publishing.Tasks.dll
位置(根据需要在MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3
更新版本名称):
- 重新加载你的项目,瞧,在linux上工作!