当前位置: 首页 > 知识库问答 >
问题:

在 VS 2017 的自承载 VSTS-BuildAgent 上构建失败,并显示错误“无法加载 TransformWebConfig 任务[...]”

邓韬
2023-03-14

我们切换到 Visual Studio 2017,并且在使用从 VSTS 获取其工作的自托管生成代理时遇到问题。

一个VSTS生成步骤是使用“Visual Studio版本:Visual Studio 2017”生成具有“Visual Studio生成:生成解决方案***.sln”的所有解决方案
以下错误适用于所有选择“ASP.NET核心Web应用程序(.NET Core)”作为项目类型的项目。

C: \Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0\TransformTargets\Microsoft.NET.Sk.Publish.TransformFiles。targets(54,5):错误MSB4062:未能从程序集C:\Program Files(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\build\netstandard1.0…\tools\net46\Microsoft.NET.Sk.Publish.Tasks.dll加载“TransformWebConfig”任务。无法加载文件或程序集“file:///C:\程序文件(x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Sdks\Microsoft.NET.Sdk.Publish\tools\net46\Microsoft.NET.Sdk Publish.Tasks。dll”或其依赖项之一。试图加载格式不正确的程序。请确认声明正确,程序集及其所有依赖项可用,并且任务包含实现Microsoft.Build.Framework.ITask的公共类。

其他信息:

  • 从Visual Studio 2017中构建的解决方案没有任何错误。
  • 我们的项目都不包含任何. config转换文件(但确实包含. config文件,如web.config),仍然会发生错误。
  • Visual Studio 2017构建工具以及完整的Visual Studio 2017已安装在构建服务器上,例如。NET核心类库编译正常。
  • 已安装。NET Core版本在构建服务器和开发人员机器之间是相同的。
  • 当使用“MsBuild:构建解决方案***. sln”作为所有解决方案的构建步骤并选择“MSBuild:MSBuild 15.0”时,也会发生相同的错误。
  • 提到的文件"无法加载文件或程序集:C:\程序文件(x86)\Microsoft Visual Studio\2017\专业\MSBuild\Sdks\Microsoft.NET.Sdk. Publish\工具\net46\Microsoft.NET.Sdk.Publish.Tasks.dll"确实存在于提到的路径中。
  • . csproj文件中没有定义任何任务。

有人知道这是什么原因吗?

共有2个答案

唐俊英
2023-03-14

看看这个链接。该问题似乎之前已经解决

https://github.com/Microsoft/msbuild/issues/1010

然而,最近对MSBuild进行了另一项更改(参考上文)。我的直觉是这种“降级”导致“修复”被忽略(使用了错误的DLL版本)

https://github.com/aspnet/Scaffolding/pull/321

卞成荫
2023-03-14

查看下面的内容:https://github.com/aspnet/websdk/pull/174

我已经报告了相同的行为,结果证明仅在 MSBuild 的 64 位版本中是一个问题,切换回 32 位版本对我有用,直到此问题得到解决。

 类似资料:
  • 我有几个虚拟机。它们都有桌面WPF应用程序和Outlook插件(基于插件Express)。都是用MIP SDK。今天,每次在2台虚拟机上使用MIP SDK时,Outlook加载项都开始出现错误。桌面应用程序仍然工作正常。 错误 我试过了 删除带有MIP缓存、日志记录等的存储文件夹 重启VM 但是问题仍然在发生。 我在网上找不到任何东西。 有人有什么想法吗? 环境 < li>Windows 10 P

  • 我有一个多项目gradle构建,Spring Boot按照默认gradle约定进行结构化。 我目前的项目是(A)将gradle从5. x升级到7.3. x,(B)使用带有Spring Boot的嵌入式Tomcat。 这是一个已经存在很多年的项目,是Spring Boot,但是传统上一直作为一个战争文件部署在Tomcat中。 我已经按照gradle迁移指南将gradle升级到7.3.3,并正确构建了

  • 问题内容: 我已使用本教程创建了我的第一个docker webapi项目。 我正在使用Windows 7(Docker工具箱)。 这是我跑过的: 这是Dockerfile: 这是我创建图像的方式: 这就是我创建和运行容器的方式: 我的服务作为docker容器成功运行。 然后,我尝试更改Dockerfile以在aspnetcore基本映像上工作: 改为 新的Dockerfile如下所示: 现在,我尝

  • 构建Xamarin.iOS项目时面临以下错误。它建立在我的本地机器上。而不是在托管的macOS High Sierra托管代理上。 沙马林。iOS任务失败,错误为:/Library/Frameworks/Mono。framework/Versions/Current/Commands/msbuild失败,返回代码:1。有关设置生成管道的指南,请参阅https://go.microsoft.com/

  • 我可以运行我的项目,并且没有错误地运行它。但当我运行测试时,它不能。 我看到文档,一步一步地。 我不知道我在哪里犯了错误。 配置: 测试文件 错误消息:

  • 我用android Studio 0.4.0创建了一个简单的android项目。我使用Gradle 1.9和Gradle Android插件0.7。昨天,我在gradle构建脚本中添加了Jake Wharton的Butternife库: 当我从Android Studio运行应用程序时,构建运行良好,并在我的设备上正确执行。但是当我尝试(从命令行)时,构建失败了。以下是我的林特报告中的一部分: 也