PIC*_*ain 7 c# dll class-library
我有一个我已经制作的类库项目.我们称之为ClassA.在ClassA中,我需要访问一些驻留在DLL中的工具(ToolsDLL.dll).
在ClassA中,我将ToolsDLL.dll添加到项目中,并选择ToolsDLL.dll文件复制到输出目录ALWAYS.因此,库构建和编译就好了,在输出目录中,我看到ClassA.dll和ToolsDLL.dll
接下来,我想编写一个应用程序,比如使用ClassA中的方法的App_A.因此,在我的App_A项目中,我添加了对ClassA.dll的引用,以便我可以访问它的命名空间.一切都很好,它建立/编译.
问题是,当我运行App_A并且它到达需要使用ToolsDLL.dll的点时,它会引发异常"无法加载ToolsDLL.dll.我不明白它怎么可能找不到它该DLL因为它与ClassA.dll在同一目录中.
我发现如果我将ToolsDLL.dll放在App_A的输出目录中,它就可以了.那有什么办法吗?有没有什么方法可以将ToolsDll.dll以某种方式与ClassA.dll捆绑在一起.原因是我的客户将编写他们自己的类似于AppA的应用程序,如果他们只需要在他们的项目中引用一个文件而不是多个文件就会很好.
sta*_*ica 12
有一个微软的工具叫做ILMerge.它可能会做你想要的,将几个程序集捆绑到一个文件中.
PS:另一个经常使用的问题解决方案是在应用程序的解决方案/项目中添加一个后期构建事件,将所需的内容复制ToolsDLL.dll到输出目录中?沿线的东西:
xcopy /y /d $(SolutionDir)\lib\ToolsDLL.dll $(OutputDir)\ToolsDLL.dll
(对不起,如果我弄错了,我就是从我的记忆中输入这个.)
当然,您的客户也必须这样做.但他们之前可能再做过这件事了.
| 归档时间: | 
 | 
| 查看次数: | 4180 次 | 
| 最近记录: |