无法从Microsoft.Web.Publishing.Tasks.dll加载TransformXml任务

 yantian 发布于 2023-02-13 10:13

有没有人看到这个错误,知道如何解决它?

无法从程序集C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.Tasks.dll加载"TransformXml"任务.

无法加载文件或程序集'file:/// C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.Tasks.dll'或其依赖项之一.该系统找不到指定的文件.

确认声明是否正确,程序集及其所有依赖项是否可用,以及该任务是否包含实现Microsoft.Build.Framework.ITask的公共类.

我在别处读到问题是你没有安装SQL Server.但我确实安装了带有SP1的SQL Express 2012 x64.我也在运行VS 2013 Professional.

我在VS 2012 Express中运行了这个完全相同的解决方案,没有任何问题.

5 个回答
  • 只要您使用Visual Studio 2012,Dai Bok和emalamisura提供的答案就可以正常工作.对于VS 2013,这也失败了.为了使这适用于所有版本的Visual Studio,您应该:

    打开项目无法加载的项目文件(.csproj)

    搜索 <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

    将其更改为 <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Web\Microsoft.Web.Publishing.targets" />

    重新加载项目

    这将动态正确地设置正确的Visual Studio版本.

    2023-02-13 10:15 回答
  • 要解决此问题,

      在您的计算机中找到Visual Studio安装程序

      单击或点击以启动安装程序,然后选择“修改”。

      在“单个组件”屏幕中,选择Asp.net和Web开发工具,然后选择“修改/安装”。

    这解决了问题,因为它在上述路径中创建了dll。

    2023-02-13 10:15 回答
  • 我已经在我们的构建服务器上打了几天这个问题了,所以我想我会记录下我的解决方案.首先,我的构建服务器安装了Web发布扩展.我可以将TransformXml任务用于Web应用程序项目中的内容.

    为了在Web应用程序项目之外使用它,我尝试将UsingTask元素添加到我的项目中,并使用ms构建属性将其指向正确的位置(正如Benjamin演示的那样).但是,它们不在我的构建服务器上(那些可以轻松访问其构建服务器的文件系统的人可能会跳过这个,只需将相关的软件包安装到Visual Studio).我甚至甚至硬编码视觉工作室版本,但它总是丢弃我的错误.

    我终于放弃了,从我的本地PC上取下了DLL:

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.Tasks.dll
    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.XmlTransform.dll
    

    我将它们上传到源代码控制并将该文件夹添加到我的构建工作区(编辑构建定义 - >源设置 - >源代码管理文件夹).从那里,我甚至不需要引用文件夹 - 这是我的UsingTask看起来像:

      <UsingTask TaskName="TransformXml" AssemblyFile="Microsoft.Web.Publishing.Tasks.dll" />
    

    现在,我可以将TransformXml任务用于任何项目的内容.

    2023-02-13 10:15 回答
  • 为了让我的工作,我只是复制我的v10.0文件夹并重命名为v11.0,从那时起事情似乎很好.这是现在的快速解决方案.

    由于这可能不是最好的解决方案,虽然它可行,但我打算尝试安装适用于Windows 7的Microsoft Windows SDK和适用于Windows 7和.NET Framework 4的.NET Framework 4 Windows SDK,但它需要很长时间才能实现.下载.

    2023-02-13 10:15 回答
  • 因为我的VisualStudio文件夹中只有v12.0,v14.0和v15.0,所以我编辑项目文件并将参考路径从v10.0更改为v14.0.然后项目成功构建.

    之前:

    <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
    

    后:

    <UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v14.0\Web\Microsoft.Web.Publishing.Tasks.dll" />
    

    2023-02-13 10:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有