我用ilmerge合并了exe和dll文件,程序采用的工厂模式,三层架构,合并一切正常,ilmerge日志显示也没有任何错误,但是运行后在BLL层引发异常,信息如下:“XXX.BLL.User”的类型初始值设定项引发异常。但是合并之前程序是可以正常运行的,是winform程序,请高手指点会是哪里的问题?

解决方案 »

  1.   

    可能参数设置的不正确,我指的是ILMerge.exe命令行,你可以后面跟/?看看帮助说明。
      

  2.   

    ilmerge /log:d:\1\log.txt /internalize /t:winexe /ndebug /targetplatform:2.0 /out:d:\1\new.exe d:\1\xxx.exe d:\1\xxx.dll不知道这样对不?
      

  3.   

    ilmerge 合併出來的不穩定,如果有dll是沒有強簽名會更加不穩定
      

  4.   

    嘗試使用Spoon Studio 2011
      

  5.   


    找到原因了好像,ilmerge合并后,工厂模式反射不能创建实例,好像是ilmerge的bug?Manually calling kernel.Load<FuncModule>() seems to fix the problem! 这句话不太懂啊
      

  6.   


    下载了一个,不会用啊,打包后好像把net框架也打包里了?出来20多M,而且还不能运行。。
      

  7.   


    找到原因了,好像是ilmerge的bug吧。反正是ilmerge不支持使用反射加载程序集的程序,也不知道怎么去解决了最后嵌入资源了直接