我正在使用MsBuild 15.0 API来构建我们自己的项目。 由于GAC中不存在此版本的MsBuild,因此我不得不使用称为MSBuildLocator的库来加载MsBuild的程序集。 当我要使用COMReferences构建项目时,出现以下错误:
无法从实例化“ ResolveComReference”任务 “ Microsoft.Build.Tasks.Core,版本= 15.1.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a“。无法加载文件或程序集 'Microsoft.Build.Tasks.Core,版本= 15.1.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一。的 找到的程序集的清单定义与程序集不匹配 参考。 (来自HRESULT的异常:0x80131040) “ ResolveComReference”任务已被声明或错误使用,或者 施工期间失败。检查任务名称的拼写和 程序集名称。
这是我的程序集绑定日志
Microsoft.Build.dll
LOG:此绑定在默认的加载上下文中启动。日志:使用应用程序 配置文件: C:\ Users \ tfsbuild \ Desktop \ MSBuildTester \ MSBuildTester \ bin \ Debug \ MSBuildTester.exe.Config 日志:使用主机配置文件:日志:使用机器配置 来自的文件 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config。 日志:在应用程序配置文件:4.0.0.0中找到重定向 重定向到15.1.0.0。日志:政策后参考:Microsoft.Build, 版本= 15.1.0.0,文化=中性,PublicKeyToken = b03f5f7f11d50a3a 日志:GAC查找失败。日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.DLL。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build/Microsoft.Build.DLL。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.EXE。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build/Microsoft.Build.EXE。 日志:所有探测URL尝试失败。
Microsoft.Build.Tasks.Core.dll
LOG:此绑定从LoadFrom加载上下文开始。 WRN:本机映像将 无法在LoadFrom上下文中进行探测。仅会探查本机图像 默认的加载上下文,例如Assembly.Load()。日志:使用 应用程序配置文件: C:\ Users \ tfsbuild \ Desktop \ MSBuildTester \ MSBuildTester \ bin \ Debug \ MSBuildTester.exe.Config 日志:使用主机配置文件:日志:使用机器配置 来自的文件 C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ config \ machine.config。 日志:在应用程序配置文件中找到重定向:15.1.0.0 重定向到15.1.0.0。日志:政策后参考: Microsoft.Build.Tasks.Core,版本= 15.1.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a日志:GAC查找失败。日志: 尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.Tasks.Core.DLL。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.Tasks.Core/Microsoft.Build.Tasks.Core.DLL。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.Tasks.Core.EXE。 日志:尝试下载新的URL 文件:/// C:/Users/tfsbuild/Desktop/MSBuildTester/MSBuildTester/bin/Debug/Microsoft.Build.Tasks.Core/Microsoft.Build.Tasks.Core.EXE。 日志:尝试下载新的URL文件:/// C:/ Program Files (x86)/ Microsoft Visual Studio / 2017 / Enterprise / MSBuild / 15.0 / Bin / Microsoft.Build.Tasks.Core.DLL。 日志:程序集下载成功。尝试设置文件: C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Tasks.Core.dll 日志:进入从源运行设置阶段。日志:程序集名称是: Microsoft.Build.Tasks.Core,版本= 15.1.0.0,文化=中性, PublicKeyToken = b03f5f7f11d50a3a日志:where-ref绑定代码库不存在 匹配在默认上下文中找到的内容。将结果保存在LoadFrom中 上下文。日志:绑定成功。从C:\ Program Files返回程序集 (x86)\ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin \ Microsoft.Build.Tasks.Core.dll。 日志:程序集在LoadFrom加载上下文中加载。
我该如何解决?!
答案 0 :(得分:0)
我刚刚在 VS 2019 的最新版本中得到了这个。自从前几天它成功编译以来,我所做的就是添加几行琐碎的代码 - 没有新功能。我从调试模式切换到发布并构建了解决方案 - 没有变化。我切换回调试,问题就消失了!无需更改编码。
然后当我去实际调试项目时,错误又回来了!