GAC中的Windows Azure SDK 2.0和旧运行时程序集

GAC中的Windows Azure SDK 2.0和旧运行时程序集,azure,sdk,gac,Azure,Sdk,Gac,我已安装Windows Azure SDK 2.0并开始迁移我的项目。安装2.0后,我从程序和功能(我的环境是Win8 Pro+VS2012 SP2)中卸载了2012-10(早期版本)的所有项目 我希望当我打开引用了旧版本Microsoft.WindowsAzure.ServiceRuntime的project时,我会看到断开的引用,这样我就可以很容易地找到它们并替换为最新版本。但是,Microsoft.WindowsAzure.ServiceRuntime的旧版本仍然保留在GAC(1.7和1.

我已安装Windows Azure SDK 2.0并开始迁移我的项目。安装2.0后,我从程序和功能(我的环境是Win8 Pro+VS2012 SP2)中卸载了2012-10(早期版本)的所有项目

我希望当我打开引用了旧版本Microsoft.WindowsAzure.ServiceRuntime的project时,我会看到断开的引用,这样我就可以很容易地找到它们并替换为最新版本。但是,Microsoft.WindowsAzure.ServiceRuntime的旧版本仍然保留在GAC(1.7和1.8)中,因此项目仍然可以编译。尝试从GAC卸载旧程序集时,访问被拒绝


我相信我能以某种方式将它们移除,但我的问题是——它们是故意留在那里的吗?我需要这些旧版本吗?

如果没有依赖旧版本的项目,请随意删除。您是否尝试卸载旧SDK。如果有,并且旧程序集仍然保留,则:

您应该能够通过执行以下操作删除旧版本:

  • 打开提升的cmd提示符(以管理员身份运行)
  • gacutil.exe-u microsoft.WindowsAzure.ServiceRuntime.dll

  • 正如我所写的,我卸载了在“程序和功能”中找到的与Azure早期版本相关的所有内容。然而,组件1.7和1.8留在GAC中。试图从GAC的命令行中卸载它们,但它报告无法卸载:一个或多个应用程序需要程序集。由于我找不到任何相关的安装程序,我想我可以按照中所述清除注册表,然后从GAC中删除它们。只是想知道为什么它们没有与以前的SDK一起卸载?它们可能没有被安装删除,原因与您无法卸载它们的原因相同,它们正被一个或多个应用程序使用。你找到的链接可能是进行此操作的正确方法。从提升的提示符运行是否绕过了“拒绝访问”?实际上,程序集没有被其他应用程序使用。它们是由安装程序(Azure SDK 1.7和1.8)安装的,这增加了它们的引用计数,在卸载过程中引用计数器并没有减少。可能是安装顺序(先安装了较新的版本,然后删除了以前的版本)或安装程序中的某些错误..'“拒绝访问”来自资源管理器,因此使用cmd作为管理帮助。我的问题不是如何删除程序集,而是它是否安全(或者新SDK是否有理由保留它)。不管怎样,我把它拿走了。谢谢