Azure云服务:“不允许请求的注册表访问”。 VS2015

我一直在尝试将在Azure 2.6和Azure云服务上运行的后端解决方案迁移到Windows 10工作站上的VS2015中的Azure 2.7,但没有任何运气。

我已经尝试使用Visual Studio 2015 Enterprise全新安装Windows 10 Pro x64的多台计算机(安装了所有function)。 已安装Windows Update和Vs2015中提供的所有更新。 我创建了一个新的Cloud Service解决方案,其中包含一个Empty Web角色。 我已经设置了VS2015以打破“公共语言运行时exception”(调试 – > Windows – >exception设置)。 我在运行Win 8.1,VS2015,Azure 2.7的单独机器上遇到了相同的错误。

该解决方案编译良好,但当我尝试运行/调试Cloud Service项目时,它会抛出以下错误:

抛出exception:mscorlib.dll中的“System.Security.SecurityException”

其他信息:不允许请求的注册表访问。

在不使用CloudService的情况下仅启动WebRole。

当我尝试使用管理员权限通过VS2015运行CloudService时,会抛出以下exception:

mscorlib.dll中的’System.Threading.WaitHandleCannotBeOpenedException’

附加信息:不存在给定名称的句柄。

在检查intellisense日志时(“不允许请求的注册表访问”),将已编译的解决方案发布到Azure会产生相同的exception。

我尝试在此博客文章中添加install.cmd脚本,以便在部署时在Azure Cloud Service上安装4.5.2或4.6但结果没有任何更改: https : //azure.microsoft.com/en-us/documentation /用品/云服务- DOTNET安装,DOTNET /

  • 云服务是否与Azure 2.7兼容? – 更新:是的。 确保使用.Net framework v4.5.1

  • 在本地调试模式下运行时是否真的需要install.cmd脚本? 4.5.2和4.6都应该已经安装好了吧?

  • 其他人遇到此问题?

有关如何使云服务与Windows10,Vs2015和Azure 2.7一起使用的任何帮助或提示都非常受欢迎!

这是一个包含示例项目的回购: https : //www.dropbox.com/s/ie7jcn932nsddio/CloudServiceRepo.zip?dl = 0

如果您的根本原因与我的相同,我有一个解决方法(如果不是真正的原因和解决方案)

在app.config的runtime – > assemblyBinding部分下为您的辅助角色添加:

    

这是我如何到达这一点。 在带有SDK 2.7的VS2015中,我创建了一个全新的空云服务。 我引入了现有的worker角色,该角色是使用SDK 2.6创建的,并升级到2.7。 这一次,我收到一个新错误,抱怨它无法找到Microsoft.WindowsAzure.Diagnostics版本2.6。 在我的worker角色中,我的程序集引用是针对2.7版而不是2.6版。 因此,工作者角色(我无法找到或理解)仍然需要此程序集的2.6版本。 SDK升级不好? 不知道。 无论如何,通过在app.config中添加此条目,我强制它使用版本2.7。

我不知道为什么在创建新的云服务时,与使用旧的云服务相比,我会收到不同的(更准确的)错误消息。 我也不知道这与原来的“WaitHandle”错误有什么关系,但也许这是一个红鲱鱼,原来的问题一直是版本不匹配? 我想知道导致这个问题的原因以及适当的长期解决方案是什么,但我现在还是会解决这个问题。

祝你好运,我希望这对你有用,就像它对我一样。