无法加载文件或程序集 itextsharp

Bar*_*isY 1 c# installation pdf-generation itext winforms

我从我的 winform 应用程序中构建了安装文件。然后我将它安装到我的另一台计算机上,一切正常,但是当我单击SaveToPDF将 gridview 保存到 pdf 文件的按钮时

我遇到了这个错误:

无法加载文件或程序集 itextsharp,版本 = 4.1.6.15,文化 = 中性,公钥令牌 = 8354ae6d2174ddca' 或其依赖项之一。该系统找不到指定的文件。

如果我从 Visual Studio 运行应用程序,一切都会很好。因此,在构建安装文件 iTextSharp 内容时可能会丢失,或者从安装文件安装时 iTextSharp 内容可能会丢失。我被这个问题困扰,不知道如何解决。任何帮助,将不胜感激。

Vol*_*soy 5

右键单击 iTextSharp 并选择属性。将“复制本地”设置为 True。

我还建议使用 NuGet 进行包管理。如果设置“复制本地”不起作用或者它已设置为 true,请删除引用并使用程序包管理器控制台输入以下内容:

Install-Package iTextSharp
Run Code Online (Sandbox Code Playgroud)

更新:

我尝试使用 InstallShield 2015 试用版。这是我的经验。我猜这与你的问题有关:

我尝试了一个基本的 MSI 项目,并在应用程序文件中使用 iTextSharp 程序集指出了该项目的主要输出。当我构建项目时,我收到错误“-6213 - 内部构建错误”显然这是 .NET 项目的一个已知问题。这是他们建议解决方法的文章:https://flexeracommunity.force.com/customer/articles/en_US/ERRDOC/Q109089

建议在构建时关闭依赖扫描。我这样做了,项目编译得很好。但是当我安装它时,只部署了应用程序的 exe,而没有部署 iTextSharp。所以这可能就是你的情况。您还记得禁用扫描依赖项吗?

我删除了项目输出并手动添加了所需的文件。这次它又出现了一个内部错误,但按照他们的建议修复了它(用他们提供的新错误替换 ISWIScanners.dll 并重建)。这次我可以获得我想要部署的所有文件,但当然这并不理想。

我建议手动添加文件并应用解决方法。或者,您可以尝试一下 Wix ( http://wixtoolset.org ) - 一个免费的开源安装程序。我自己没有使用过它,但在 DotNetRocks 播客上听到过它。它是免费的,所以值得一试。

我希望这可以帮助你。