关于c#:已更新到VS 2015,Azure 2.7,发布失败”访问路径…被拒绝”

Updated to VS 2015, Azure 2.7, publish fails 'Access to path … denied'

我有一个具有三个工作人员角色的云服务项目。以前(VS 2013,Azure 2.5)以前一切都很好。当VS 2015可用时,我将其安装在干净的VM上,然后安装了Azure 2.7。我推广了旧的解决方案,并且可以在本地构建和运行。我可以构建云服务项目。但是当我尝试发布或打包时,出现以下错误,并且构建失败。

错误:

Access to the path
'C:\\Users[username]\\AppData\\Local\\Temp\\3xhd2e4m.wlw\
oles[rolename]\\base\\x86\\msshrtmi.dll'
is denied. C:\\Program
Files\\MSBuild\\Microsoft\\VisualStudio\\v14.0\\Windows Azure
Tools\\2.7\\Microsoft.WindowsAzure.targets 3003

当我转到Temp时-没有与3xhd2e4m.wlw对应的目录。

到目前为止,我的解决方案尝试包括:

从解决方案中删除工作角色并尝试发布-失败,其余项目出现相同的错误。
已从temp移除只读
试图设置一切以构建x64
我真的需要一些帮助,因为这会阻止部署和测试。


我有同样的问题。根据另一篇文章中的答案(部署到Azure:"访问路径... msshrtmi.dll被拒绝"),该问题与Azure SDK 2.7的问题有关,并将在2.7版中解决。 1,预计不久将发布。

仅当您尝试从32位计算机上发布时,才会出现此问题。更改为64位计算机应该可以。


我刚遇到同样的问题,并因此失去了一些脑细胞。

我在ServiceDefinition.csdef中有一个已定义的目录,其中包含我在为启动任务发布云服务期间尝试复制的所有文件,并且最终还包含了一些.dll文件。我遇到了与该问题的操作相同的错误,一段时间后发现我无法在SourceDirectory路径中包含* .dll文件。我能够很好地包含.cmd文件,但是.dll和.config \\效果不好。

将它们排除在我的项目之外也不是一件好事,只是文件在该目录中足以使VS对我大吼大叫。

目前,我只是将所有有问题的文件放在一个zip文件中,然后将zip文件发送到我的部署中,因此这是一种解决方法,但是在我弄清楚这一点之前,这是一个痛苦的尝试。

希望这会有所帮助..


我还没有提供具体的解决方案,因为我还没有尝试并升级到VS2015,但是我想这与Worker Role's Cloud Service的项目文件有关。<铅>

因此,我想到两个选择:

  • 用一个样板的Worker Role创建一个新的空白Worker Role Project,并检查它是否正确发布/打包。这将确认此功能是否在带有Azure SDK 2.6的VS2015中起作用。
  • 如果(1)可行,请考虑将您现有的工人角色项目之一添加到(1)中的空白工人角色项目中,然后再次尝试发布/打包过程。
  • 我很难相信Microsoft的专家们曾尝试过从v2.5升级到工人角色SDK的v2.6 ...我已经检查了v2.6发行说明,似乎没有与此问题相关的任何重大更改:https://azure.microsoft.com/en-gb/documentation/articles/azure-sdk-dotnet-release-notes-2_6/