我们遇到了一个我从未遇到过的有趣问题。我们在Visual Studio 2008 SP1中有一个大规模生产的ASP.NET 3.5 SP1 Web应用程序项目,它使用网站部署项目进行编译和部署。去年一切都很顺利,直到昨天登记入住之后,该应用开始严重失败,出现BadImageFormatException
。.NET程序集格式有大小限制吗?
有问题的签入不会改变任何特别特殊的内容,而且错误来自应用程序的区域甚至没有改变。使用Reflector我们检查了违规方法,发现代码中有垃圾字符串(which .NET Reflector humorously interpreted as Chinese characters)。我们一直在几台机器上重现这一点,所以它看起来并不是硬件相关的。
进一步检查显示,在部署过程中用作aspnet_merge.exe的输入的程序集中存在垃圾字符串而不是。
aspnet_merge.exe/Web部署项目输出 组件属性:
- 全部合并输出到单个总成
- 合并每个单独的文件夹输出到其自身的装配
- 合并所有页面控制输出到单个组件
- 为每个页面和控制输出创建一个单独的程序集
在如果我们设置合并选项,第一个选项(“合并所有输出到一个单一的组件”),我们遇到的问题,但的其他选择工作完全所有 Web部署项目属性!
我的问题:有谁知道为什么会发生这种情况?是否有aspnet_merge.exe功能的大小限制(最终的合并DLL约为19.3 MB)?是否还有其他合并WAP输出的已知问题?
我会喜欢它,如果任何程序集格式/ aspnet_merge.exe大师知道这样的任何限制。对我来说就像一个25MB的大会,虽然很大,但并不离谱。
你可以修复图片或删除链接吗? – Laurel 2016-04-21 23:52:30