我在我的.NET应用程序中使用了第三方dll(ABCpdf)并将应用程序安装到另一台计算机上。该程序运行正常,但随后试用期满,我们购买了第三方组件并将新的dll复制到应用程序目录中。运行我的应用程序时,我们收到错误,无法加载程序集。我注意到对dll的引用已将copy local设置为false,因此我将其更改为true。仍然得到同样的错误。
我检查过,机器上有一些dll的复制 - 一个在已安装的第三方应用程序的文件夹中,一个在我的应用程序的应用程序文件夹中(从安装文件夹中复制),还有一个在GAC中。我确实将copy local设置为true,但是一旦在GAC中安装了程序集,那么这将是永远使用的版本。
我该如何解决这个问题?从GAC删除dll会安全吗?它会解决我的问题吗?请指教
答案 0 :(得分:0)
尝试删除项目参考中的DLL引用,然后读取它。确保添加应用程序目录中的已购买DLL。
,在与第三方DLL作战之前,我必须做很多次这样的事情答案 1 :(得分:0)
检查使用的参考文献等。 首先要确保您使用正确的版本进行编译,并安装了许可证。 您可以使用此代码在运行时添加许可证密钥(以避免将来的客户错误):
WebSupergoo.ABCpdf7.XSettings.InstallRedistributionLicense("your_serial")
不需要在GAC上安装AbcPDF。所以你可以从那里删除它。 然后,检查32/64位问题,因为ABCpdf用于提供4个dll,每个平台2个(ABCPDF.dll和ABCPdfCEXX.dll)。