通过调用IRuby来封装了一些诸如动态计算等扩展方法。为了方便调用,就把用ILMerge把iruby相关dll与类库dll打包到了一起。打包过程很顺利,但是在其他工程中调用的时候就抛出了下面的错误:
Failed to load language 'IronRuby': Could not load file or assembly 'IronRuby.Libraries, Version=1.1.3.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
有人说:Ironruby是有强名的,打包的时候没有提供snk,所以造成了错误,参考网页 。
但是经过自己的测试,将有强名的dll打包到其他dll中,并且不提供snk,并不会报错。对与错并不重要,重要的是:如何将IronRuby等一系列dll打包到其他dll中(用ILMerge的就太感谢了,其他打包工具没用过)。