首页 文章

Visual Studio Online Hosted Build Controller无法找到程序集Microsoft.WindowsAzure.Diagnostics

提问于
浏览
5

我们正在使用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” . 检查以确保磁盘上存在程序集 . 如果您的代码需要此引用,则可能会出现编译错误 .

此程序集应解析为应根据http://listofsoftwareontfshostedbuildserver.azurewebsites.net/包含在主机中的Azure SDK,尽管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>

有没有人见过这个?

4 回答

  • 0

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

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

    Windows Azure Libraries for .NET - v2.4在打印列表中缺失,所有其他版本都可用 . 这已被提升为connect.microsoft上的活动错误 .

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

  • 1

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

    如果您在2.4 SDK中使用任何新的类或方法,这可能无法正常工作,但它至少会为您提供临时解决方案,直到MS解决问题 .

    Here's a picture of my working reference

    Specific Version Reference for Azure Diagnostics Assembly

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

  • 1

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

    我为克服这个问题所做的是创建了旧式的lib文件夹,并为其添加了诊断和运行时dll . 我从那里改变我的csproj引用 . 而这似乎已经修复了它

  • 2

    这个bug现在是fixed . 使用Azure SDK 2.4不再需要解决方法 .

相关问题