【问题标题】:Visual Studio Online Hosted Build Controller Could not locate the assembly Microsoft.WindowsAzure.DiagnosticsVisual Studio Online Hosted Build Controller 找不到程序集 Microsoft.WindowsAzure.Diagnostics
【发布时间】:2014-12-17 10:56:05
【问题描述】:

我们正在使用 VSO 托管的构建控制器来运行我们的 CI 构建。构建已开始失败,但工作正常。

C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (1697):无法解析此引用。找不到程序集“Microsoft.WindowsAzure.Diagnostics,Version=2.4.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,则可能会出现编译错误。

此程序集应解析为应包含在主机中的 Azure SDK,根据 http://listofsoftwareontfshostedbuildserver.azurewebsites.net/ 尽管http://www.visualstudio.com/en-us/get-started/hosted-build-controller-vs.aspx 声明主机仅支持最高 2.3。不过我们已经有了这座建筑。

我们所有的 Azure SDK 程序集都适用于 2.4 版。它在本地构建,我的机器上没有安装以前版本的 SDK。我们有像这样的绑定重定向......

<dependentAssembly>
    <assemblyIdentity name="Microsoft.WindowsAzure.Diagnostics" publicKeyToken="31BF3856AD364E35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-2.4.0.0" newVersion="2.4.0.0" />
  </dependentAssembly>

还有其他人看过吗?

【问题讨论】:

  • 添加绑定重定向是否让您构建?我正在考虑以 2.3 版本的 SDK 为目标来构建它
  • 我们正在使用针对 2.4 的绑定重定向进行构建。我们已经将它恢复到 2.3 并且构建。
  • 我们也突然开始明白这一点。针对 2.4 的构建已经构建了数周,突然(从昨天开始)我们得到了相关的错误。命名空间“Microsoft.WindowsAzure”中不存在类型或命名空间名称“Diagnostics”(您是否缺少程序集引用?)他们肯定错误地从托管的构建控制器中删除了这个?

标签: tfs azure-devops


【解决方案1】:

我今天开始遇到同样的情况。不确定发生了什么变化。 以下被提出https://connect.microsoft.com/VisualStudio/feedback/details/1007907/error-deploying-to-azure-sdk-2-4

我为解决这个问题所做的是创建了旧式 lib 文件夹,并向其中添加了诊断和运行时 dll。我将我的 csproj 更改为从那里引用。这似乎已经解决了它

【讨论】:

    【解决方案2】:

    您可以通过使用 Visual Studio 在受影响项目的 Microsoft.WindowsAzure.Diagnostics 引用中设置“特定版本”属性来解决此问题(右键单击引用并选择解决方案资源管理器中的属性)。这将导致构建服务器使用 2.3 版本的程序集。

    如果您在 2.4 SDK 中使用任何新的类或方法,这可能不起作用,但它至少可以为您提供一个临时解决方案,直到 MS 解决问题。

    这是我的工作参考图片

    最后,查看链接(真的很旧)以获取有关特定参考版本的更多信息:http://www.codemag.com/article/0507041

    【讨论】:

      【解决方案3】:

      我添加了一个 powershell 脚本来打印出构建服务器上的所有库。可以在here 找到有关这方面的完整指南。该脚本由以下行组成

      gp HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* 
      

      打印列表中缺少适用于 .NET 的 Windows Azure 库 - v2.4,所有其他版本均可用。这已作为connect.microsoft 上的一个活动错误提出。

      在解决此问题之前,将 2.4 库添加到源或恢复到早期版本的 azure 将是唯一的解决方法。

      【讨论】:

        【解决方案4】:

        该错误现在是fixed。使用 Azure SDK 2.4 不再需要解决方法。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-09-12
          • 2015-06-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-09-23
          • 1970-01-01
          相关资源
          最近更新 更多