.NET程序集格式是否有大小限制?
我们遇到了一个我之前没有遇到过的有趣问题。我们在Visual Studio 2008 SP1中有一个大规模生产的ASP.NET 3.5 SP1 Web App项目,它使用网站部署项目进行编译和部署。去年一切都运行良好,直到昨天办理登机手续后,应用程序开始严重失败
BadImageFormatException
。
有问题的办理登机手续不会改变任何特别特别的错误,而且错误来自应用程序的某些区域,甚至没有更改。使用Reflector我们检查了有问题的方法,发现代码中有垃圾字符串(.NET Reflector幽默地解释为中文字符)。我们一直在几台机器上重现这一点,因此它似乎与硬件无关。
进一步检查显示,在部署期间用作aspnet_merge.exe输入的程序集中不存在这些垃圾字符串。
aspnet_merge.exe / Web部署项目输出
装配属性:
将所有输出合并到单个程序集
将每个单独的文件夹输出合并到其自己的程序集
将所有页面和控制输出合并到单个装配中
为每个页面和控件输出创建单独的程序集
在Web部署项目属性中,如果我们将合并选项设置为第一个选项(“将所有输出合并到单个程序集”),我们会遇到问题,但所有其他选项都可以正常运行!
我的问题:有谁知道为什么会这样? aspnet_merge.exe的功能是否有大小限制(生成的合并DLL大约为19.3 MB)?合并WAP的输出还有其他已知问题吗?
如果任何汇编格式/ aspnet_merge.exe专家知道任何此类限制,我会很高兴。对我来说就像一个25MB的程序集,虽然很大,但并不令人愤慨。
没有找到相关结果
已邀请:
2 个回复
坝硷操
乏摩纶誊伟