安装在Windows Azure上的程序集

当我们建立一个将要部署在Windows Azure 上的应用程序时,我们要记住一点,安装在Windows Azure 虚拟机上的程序集是有限的。它只包含 NET 3.5 SP1 和.NET 4.0中的默认程序集。因为这些引用不包含在Windows Azure 中,所以我们需要设置它们的Copy Local= True。

如上图所示,我设置了引用的Copy Local = True ,因为我知道在Window Azure 中Enterprise Library程序集将不被默认安装。但是问题就是哪个引用不在Windows Azure中。

为解决这个问题一般我不得不设置所有引用的Copy Local 都为True,直到我发现了这个网站:https://gacviewer.cloudapp.net.

这列出了所有默认页面中安装在Windows Azure 机器的程序集。另外,它也允许我们上传我们的项目文件(web role or worker role)和验证哪些索引需要被复制到本地。它现在可以支持C#和VB.NET项目。

当我上传了项目文件后网站验证了这个引用不在Windows Azure 中,这意味着我需要为其设置Copy Local = True。它也列出了已经被安装的程序集。

如果我们忘记了对没有安装在Windows Azure上的引用设置Copy Local ,我们的应用程序在部署和初始化时将会出错。角色状态进入一个开始...初始化...繁忙...停在...开始的奇怪循环。为了显示这是什么错误我们不得不启用IntelliTrace 和 复制我们忘记的本地索引然后再进行一次耗时的尝试。但是如果我们通过这个网站来检查我们的项目这将变得十分简单。

希望有所帮助!

Shaun

本文翻译自:

https://geekswithblogs.net/shaunxu/archive/2011/06/02/assemblies-installed-on-windows-azure.aspx