这里有很多关于这个的帖子,我正在使用另一个 SO 帖子中的这段代码,并在我的 Main() 方法中放置一个委托分配。其他帖子都没有直接回答我的问题。
我已经将我的第三方程序集作为资源嵌入,但是当我启动应用程序时:
- 我得到一个带有 FileNotFoundException 内部的 TypeInitializationException。它试图在文件系统上找到程序集并失败。
- 它永远不会到达 Main 方法,在该方法中为 AssemblyResolve 分配了事件处理程序
我的 Resources.resx 中嵌入了两个程序集引用,一个是第三方工具(命令行解析器),另一个是应用程序所在的库文件。
也许这对于控制台应用程序是不可能的?似乎不太可能,但我看不到解决方法。
回复:ILMerge 等:我想在不涉及任何工具的情况下完全用代码完成这项工作。原因:我不希望存储库中的源代码需要其他团队成员安装他们可能还没有的工具。如果这不可能,那么 ILMerge 看起来是下一个最佳选择。