因为添加assembly到GAC引起的Windows Azure Web Role部署失败

本文分享了一次Azure WebRole部署失败的经历,原因在于错误地将Microsoft.WindowsAzure.StorageClient.dll加入GAC并未移除,导致编译时引用了GAC中的版本而非工作目录中的版本,最终引起文件缺失错误。

前两天部署一个web role,每次总是在waiting for role to start阶段失败。后来发现原因是偶然有一次把Microsoft.WindowsAzure.StorageClient.dll这个assembly加入了GAC但忘记从GAC删除了。因此本地编译的时候,会自动从GAC引用该assmbly而不是把它拷贝到工作目录,造成最终打包上传的时候该assembly缺失。从Windows event log里看,只是简单的报了一个IO.FileNotFound 异常,通过添加详细日志发现这个异常每次都是在某个方法刚好被调用(method body并没有被执行)的时候抛出。事后想想这个时候应该恰好是CLR根据这个方法所引用的方法加载对应assembly的时候。所以以后如果碰到类似在方法刚被调用还没开始执行就抛出FileNotFound异常,可以考虑assembly缺失的问题。

转载于:https://www.cnblogs.com/k330/archive/2012/06/11/2544734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值