vb.net:我如何构建只有一个文件?

时间:2010-08-17 23:19:20

标签: vb.net itextsharp

我在vb.net中进行了构建并获得了一个exe文件

但是,当用户运行该文件时,它表示缺少其中一个库(itextsharp)。

所以问题是,如果在vb.net中实际存在构建选项,为什么它不在同一个exe文件中包含该库?

3 个答案:

答案 0 :(得分:2)

您可以将iTextSharp DLL与您的应用程序一起分发。最简单的方法是将它包含在与EXE相同的文件夹中。每次构建时,DLL都应输出到Project的Debug / Release文件夹,假设您已将其作为Reference添加到项目中,并且Reference的'Copy Local'属性设置为True。

如果要分发一个EXE并在其中包含iTextSharp,则可以在构建EXE后使用ILMerge tool(或者来自SourceForge的Gilma

答案 1 :(得分:1)

在参考的属性中将“复制到输出”设置为“始终

答案 2 :(得分:1)

ITextSharp不是项目输出中链接的库;它是项目输出引用的程序集。虽然VB.Net从源代码构建了一个可执行文件,但CLR仍然需要与可执行文件位于同一文件夹中的所有引用程序集。

要使一切正常,您可以将ITextSharp程序集与您的应用程序一起分发。或者,如果您确实只需要一个文件,则可以在项目输出和要包含的程序集上使用ILMerge。但是,您可能需要确定需要合并的所有正确程序集。我不会推荐使用这个工具,除非你了解它是如何工作的。

注意:如果您想将ILMerge与.Net v4.0一起使用,请阅读this page