在执行this answer中的步骤后,尝试通过mono(使用msbuild)构建项目时,出现以下错误:
(AfterCompile target) - > project.csproj(469,5):错误MSB4062:无法从程序集/usr/lib/mono/xbuild/Microsoft/VisualStudio/v15.0/Web/Microsoft.Web.Publishing.Tasks加载“TransformXml”任务.dll文件。确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类。
好像Microsoft.Web.Publishing.Tasks.dll
似乎不可用。
答案 0 :(得分:13)
在Linux上通过mono,此文件不存在。要解决此问题,请按照下列步骤操作:
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.Tasks.dll" />
使用您更新的nuget Microsoft.Web.Publishing.Tasks.dll
位置(根据需要在MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3
更新版本名称):
<UsingTask TaskName="TransformXml" AssemblyFile="..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.14.0.0.3\tools\VSToolsPath\Web\Microsoft.Web.Publishing.Tasks.dll" />