NFOP.dll在64位操作系统上导致错误

时间:2011-08-16 15:51:28

标签: .net-3.5 64-bit nfop

我有控制台应用程序,它使用NFOP.dll生成PDF文档。它在开发盒中运行良好,这是一个32位操作系统。

当我将它移动到具有64位操作系统的另一台服务器时,它给了我以下错误:

  

无法加载文件或程序集'nfop,Version = 1.0.0.0,   Culture = neutral,PublicKeyToken = null'或其依赖项之一

有关如何解决它的任何想法?如果这是在64位操作系统上使用NFOP.dll的问题,是否有替代解决方案?

Thnks

2 个答案:

答案 0 :(得分:2)

在64位计算机上按照以下步骤构建具有平台目标(anycpu)的NFOP dll

  1. 从以下位置下载并安装Microsoft Visual J#®2.0可再发行组件包 - 第二版(x64):http://www.microsoft.com/download/en/details.aspx?id=15468

  2. http://sourceforge.net/scm/?type=svn&group_id=65558

  3. 下载NFOP项目代码
  4. 在任何文本编辑器的下载代码库中,从apachefop.net文件夹中打开ApacheFop.Net.vjsproj文件。

  5. <Platform Condition=" '$(Platform)' == '' ">x86</Platform>更改为<Platform Condition=" '$(Platform)' == '' ">anycpu</Platform>

  6. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">更改为<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|anycpu' ">

  7. <PlatformTarget>anycpu</PlatformTarget>节点添加到<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|anycpu' ">节点

  8. 保存项目文件。 (如果要在发布模式下构建,请对发布配置属性组进行这些更改)

  9. 打开VS命令提示符

  10. 导航到下载的代码库中的apachefop.net文件夹

  11. 在命令提示符中运行以下命令:

  12. msbuild ApacheFop.Net.vjsproj / t:rebuild / p:Configuration = Debug

    您将在\ apachefop.net \ bin \ Debug文件夹中获取apachefop.net.dll

    您可以使用此dll构建NFOP dll,32位和64位操作系统都支持该DLL。希望这会有所帮助!!!

答案 1 :(得分:1)

将您的.NET应用程序显式定位为x86编译而不是AnyCPU。看起来NFOP.dll只有32位,不能在64位进程中加载​​,这就是AnyCPU在这种情况下的做法。