无法加载文件或程序集 itextsharp

Could not load file or assembly itextsharp

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

我遇到了这个错误:

Could not load file or assembly itextsharp, Version = 4.1.6.15 , Culture=neutral, PublicKey Token=8354ae6d2174ddca' or one of its dependencies. The system cannot find the file specified.

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

右键单击 iTextSharp 和 select 属性。将 "Copy Local" 设置为真。

我还建议使用 NuGet 进行包管理。如果设置 Copy Local 不起作用或者它已经设置为 true,请删除引用并使用包管理器控制台输入:

Install-Package iTextSharp

更新:

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

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

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

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

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

希望对您有所帮助。