Azure SDK 2.5.1 发布云服务失败

Azure SDK 2.5.1 fails to Publish cloudService

成功将我的云服务升级到新的 "Azure SDK for .NET 2.5.1" 后,我在尝试 packaging/publishing 时遇到以下错误。

Could not load file or assembly 'Microsoft.WindowsAzure.Packaging, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools.5\Microsoft.WindowsAzure.targets

"Microsoft.WindowsAzure.targets"配置文件中的相关行是2930,这显然与CSPack有关。

<CSPack
  ServiceDefinitionFile="@(TargetServiceDefinition)"
  Output="@(PublishServicePackage)"
  PackRoles="@(Roles)"
  SiteMapping="@(SiteMapping)"
  RoleProperties="@(RoleProperties)"
  ImportedModules="@(ImportedModules)"
  CopyOnly="false"
  >
</CSPack>

所以我继续在一个全新的项目中创建一个全新的 Azure 云服务,看看升级是否出了问题。不幸的是,问题仍然存在。

是否有解决方法,或者我是否必须回滚到 v2.4(这会给我带来很大的痛苦)

我 运行 正在使用 VS 2013 更新 4。

我在本地搜索了所需的 dll,发现几乎所有以前版本的 Azure .Net SDK 都有它(我相信是从 v2.0 开始)。

因此,为了解决此问题,您需要将以下 dll 从先前版本的 SDK v2.4 复制到 v2.5 的类似位置。

SDK 安装路径。

  • 源码位置:“C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.4\bin
  • 目标位置:“C:\Program Files\Microsoft SDKs\Azure\.NET SDK\v2.5\bin

要复制的 Dll(缺失):

  1. Microsoft.WindowsAzure.Packaging.dll
  2. Microsoft.WindowsAzure.ServiceModel.Common.dll

由于可能有更好的答案,所以我不会将其标记为答案。

抱歉给大家带来麻烦。我们正在调查造成这种情况的原因。看起来我们的安装程序有一个奇怪的行为,在某些环境中,这两个二进制文件没有正确安装。

我们确实发现如果删除并重新安装 2.5.1 Azure 创作工具,丢失的二进制文件将被正确安装。因此,如果您 运行 遇到此问题,请从程序和功能中删除 Authoring Tools v2.5.1,然后通过 Web 平台安装程序或直接下载链接重新安装:

http://download.microsoft.com/download/1/E/7/1E76DD6F-66F1-47E0-A76A-3BBAAC617316/MicrosoftAzureAuthoringTools-x64.msi

http://download.microsoft.com/download/1/E/7/1E76DD6F-66F1-47E0-A76A-3BBAAC617316/MicrosoftAzureAuthoringTools-x86.msi

对于给您带来的不便,我们深表歉意。我们将继续调查。