Azure SDK 2.5.1发布云服务失败

61
成功升级我的云服务到新的“Azure SDK for .NET 2.5.1”后,我在尝试打包/发布时遇到了以下错误。
“无法加载文件或程序集'Microsoft.WindowsAzure.Packaging, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'或其依赖项之一。系统无法找到指定的文件。 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Windows Azure Tools\2.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。


相同的问题,我已经在解决它了一天了。 - BoxOfNotGoodery
我想我明白了,看下面我的答案。 - cleftheris
涉及SDK 2.6的相关帖子 - Dave New
2个回答

90

对这个问题造成的麻烦我们感到非常抱歉。我们正在调查原因。看起来我们的安装程序存在异常行为,在某些环境下,这两个二进制文件没有被正确安装。

我们发现,如果删除并重新安装2.5.1版的Azure作者工具,则缺失的二进制文件将被正确安装。因此,如果您遇到此问题,请从“程序和功能”中删除2.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

给大家带来的不便,我们深感抱歉。我们将继续调查。


我们在构建服务器上遇到了同样的问题,但在开发机器上没有。这个方法完美地解决了问题。 - Matt
我是一群可能存在相关问题的人之一,其中Web平台安装程序认为更新已安装,但VS仍然提供更新(请参见https://dev59.com/V10b5IYBdhLWcg3wOvGd)。 我还没有尝试发布以查看是否真的出现了任何问题。 我尝试过卸载/重新安装,但这并没有解决上述问题。 - Bob.at.Indigo.Health
7
我用安装程序运行后的“修复”选项解决了这个问题。 - Jonathan Freeland
3
请注意,即使我已经安装了Azure SDK 2.6,我仍然遇到了这个错误。我必须下载上述的2.5.1包,并像@JonathanFreeland建议的那样进行修复,才能让它正常工作。 - Rory McCrossan
对我来说直接就能工作了。首先云化所有的VS实例,甚至不需要重新启动。 - Dan Harris
显示剩余3条评论

10

我在本地搜索所需的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

由于此问题可能有更好的答案,因此我暂时不将其标记为答案。


3
如果你没有完整的2.4 SDK安装包,你可以只下载并安装MS Azure Authoring tools 2.4.msi,它包含了所需的DLL文件。 - perlyking
我按照你的答案操作,也成功了(在复制所需的dll文件后,我不得不重新启动Visual Studio)。话虽如此,这些DLL文件没有随2.5.1版本一起发布,这很奇怪。 - ken2k
@ken2k 看起来这个版本发布有点仓促,可能是因为Azure Apps announcement的缘故。在v2.5.0版本中也出现了类似的问题。我相信安装程序很快就会更新。 - cleftheris
2
唉,你会认为微软至少可以在发布之前测试每个下载。今天早上我浪费了几个小时在这上面。 - dotnetengineer
请确保重新启动VS以使更改生效。感谢您今天早上帮我避免了一场大麻烦。 - dreamgt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接