首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载Microsoft.Build或其依赖项之一

无法加载Microsoft.Build或其依赖项之一
EN

Stack Overflow用户
提问于 2018-03-13 14:40:01
回答 1查看 4.5K关注 0票数 0

我在运行时使用WPF项目中的Microsoft.Build框架构建项目。在我的app.config中,我指定了以下组装绑定:

代码语言:javascript
复制
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Build" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Build.Utilities.Core" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Build.Framework" culture="neutral" publicKeyToken="b03f5f7f11d50a3a" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Build.Tasks.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-99.9.9.9" newVersion="15.1.0.0" />
  </dependentAssembly>

以下引用在我的项目文件(.csproj)中:

代码语言:javascript
复制
<Reference Include="Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\packages\Microsoft.Build.15.5.179\lib\net46\Microsoft.Build.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Build.Framework, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\packages\Microsoft.Build.Framework.15.5.179\lib\net46\Microsoft.Build.Framework.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Build.Tasks.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\packages\Microsoft.Build.Tasks.Core.15.5.179\lib\net46\Microsoft.Build.Tasks.Core.dll</HintPath>
  <Private>True</Private>
</Reference>
<Reference Include="Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <HintPath>..\packages\Microsoft.Build.Utilities.Core.15.5.179\lib\net46\Microsoft.Build.Utilities.Core.dll</HintPath>
  <Private>True</Private>
</Reference>

NuGet版本的Microsoft.Build包是15.5.179。在运行和调试项目时,这很好。我安装的软件包是:

  • Microsoft.Build
  • Microsoft.Build.Framework
  • Microsoft.Build.Runtime
  • Microsoft.Build.Tasks.Core
  • Microsoft.Build.Utilities.Core

但是,我在解决方案中添加了安装向导(.vdproj),当Microsoft.Build.*检测到的依赖项显示为15.1.0.0版本时,当我构建可执行文件时,安装并运行我的应用程序,将得到以下错误:

代码语言:javascript
复制
Could not load file or assembly 'Microsoft.Build, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. 

我错过了什么..?

更新:

有趣的是,安装的应用程序目录中的MSBuild dll的版本为15.5.179 -- NuGet版本。

“我的项目”中的“引用”选项卡包含对以下版本15.1.0.0的4个引用:

  • Microsoft.Build
  • Microsoft.Build.Framework
  • Microsoft.Build.Tasks.Core
  • Microsoft.Build.Utilities.Core
EN

回答 1

Stack Overflow用户

发布于 2020-04-10 14:21:40

更新Nuget工具安装程序的版本为我解决了这个问题。Microsoft依赖项中似乎存在版本冲突。问题消失了,现在构建成功了。

Azure Build Pipeline > NuGet tool installer步骤中,将Version of NuGet.exe to install更改为较新的版本,如5.4.0。

查看Nuget的最新ReleasedAndBlessed版本在https://dist.nuget.org/tools.json

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49259033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档