2011-08-16 5 views
1

NFOP.dll을 사용하여 PDF 문서를 생성하는 콘솔 응용 프로그램이 있습니다. 32 비트 운영 체제 인 dev-box에서 잘 작동했습니다.NFOP.dll이 64 비트 OS에서 오류를 일으키고 있습니다.

Could not load file or assembly 'nfop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies

를 해결하는 방법에 대한 생각 : 나는 64 비트 OS를 가진 다른 서버로 이동하는 경우

, 그것은 나에게 다음과 같은 오류를했다? 64 비트 OS에서 NFOP.dll을 사용하는 데 문제가 있다면 대체 솔루션이 있습니까? 에 x86 anycpu를하기보다는 컴파일로

Thnks

답변

2

은 Microsoft 비주얼 J 번호를 플랫폼 대상 (anycpu를)

  1. 다운로드와 NFOP DLL을 컴파일하고 설치 64 비트 시스템에서 다음 단계를 수행 ® 2.0 재배포 가능 패키지 -에서 두 번째 판 (64) : http://www.microsoft.com/download/en/details.aspx?id=15468를 어떤에서 다운로드 한 코드베이스에 apachefop.net 폴더에서 http://sourceforge.net/scm/?type=svn&group_id=65558

  2. 열고 ApacheFop.Net.vjsproj 파일 :

  3. 에서 NFOP 프로젝트 코드를 다운로드 텍스트 편집기.

  4. 변경은 <Platform Condition=" '$(Platform)' == '' ">x86</Platform>

  5. <Platform Condition=" '$(Platform)' == '' ">anycpu</Platform>로 변경 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "><PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|anycpu' ">

  6. <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|anycpu' "> 노드

  7. 프로젝트를 저장 파일에 <PlatformTarget>anycpu</PlatformTarget> 노드를 추가합니다.

  8. 열기 VS 다운로드 한 코드베이스에 apachefop.net 폴더에 프롬프트

  9. 이동 명령 (당신이 릴리스 모드로 빌드 릴리스 구성 속성 그룹에 이러한 변경 사항을 확인하려면)

  10. 명령 프롬프트에서 다음 명령을 실행

msbuild를 ApacheFop.Net.vjsproj/t :/P 재 구축 구성 = 디버그

\ apachefop.net \ bin \ Debug 폴더에 apachefop.net.dll이 있습니다.

이 dll을 사용하여 32 비트 및 64 비트 OS에서 모두 지원되는 NFOP dll을 작성할 수 있습니다. 희망이 도움이!

1

명시 적으로 .NET 응용 프로그램을 타겟팅합니다. NFOP.dll은 64 비트 프로세스에서로드되지 않는 32 비트 전용이므로 AnyCPU는이 경우 수행합니다.

+0

@Jesse 빠른 응답 주셔서 감사합니다,하지만 우리는 64 비트 OS에서 작동합니다 우리의 응용 프로그램에서 다른 제 3 자 dll을 사용하고 있습니다. 그래서 우리가 x86에 우리의 애플 리케이션을 목표로한다면,이 다른 dll로 에러를 일으킬 것이다. – neo

+0

타사 DLL도 .NET 어셈블리입니까? 그렇다면'CorFlags.exe 3rdparty.dll/32BIT +'를 사용하여 모두 x86이되도록 할 수 있습니다. –

관련 문제