2012-08-30 2 views
3

.NET 3.5으로 작성된 WPF 응용 프로그램은 Visual Studio 2010입니다. 이 솔루션은 8 개의 프로젝트로 구성되며 모두 . NET 3.5에 컴파일됩니다. 응용 프로그램은 Crystal Report를 사용합니다. 대상 OS 인해 일부 제 3 자 DLL 의존성에 최근 시작 프로젝트.NET 4.0에서 컴파일.NET Framework 4.0의 Crystal Report

윈도우 7입니다 - 그 DLL을 .NET 4.0을 필요로합니다. 이 변경 및 솔루션 다시 작성 후 Crystal Report 예외가 throw됩니다.

ReportClass 생성자에서 문제가 발생합니다.

예외의 메시지 :

The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.

의 InnerException의 메시지 : 내가 전에 크리스탈 리포트에서 근무하지 않은

"Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))."

. 이 문제의 원인은 무엇일까요?

.NET 3.5로 컴파일하면이 문제가 발생하지 않습니다. Crystal Report는 시작 프로젝트에서 사용됩니다.

+0

Crystal Reports DLL을 COM 개체로 등록해야합니까? – zeencat

+0

.net 4.0을 사용하여 모든 프로젝트를 빌드해야한다고 생각합니다. 왜 지금 당장 정확한지 모르겠습니다. – lex87

+0

@ zeencat : 무슨 뜻인지 확실하지 않습니다.3.5에 DLL을 등록하지 않았습니다. – Donotalo

답변

9

X86/x64 문제 일 수 있습니다.

타겟 86 플랫폼으로 앱을 컴파일 해보십시오. IIS에

0

CR을 설치하면 C : \ inetpub \ wwwroot \ aspnet_client \ system_web \ 4_0_30319 \ crystalreportviewers13에 몇 개의 파일 (JS, html 등)을 설치해야합니다. 이 폴더가 PC에 있는지 확인하십시오. 그렇지 않은 경우 프로그램 파일의 폴더를이 위치로 복사해야한다고 생각합니다.

+0

이 폴더가 존재한다. – Donotalo

0

이동 -> 응용 프로그램 풀 -> 응용 프로그램 풀을 마우스 오른쪽 버튼을 클릭 - 설정 진출로 이동합니다> ->

1

이 문제는 2 일 동안 저를 얻었다과 그 모든 이상 = 진정한 32 비트 응용 프로그램을 사용 매우 비슷한 답변을 가진 장소, 그러나 나를 위해 끝난 것은 두 배였습니다. 나는 적어도 하루에 누군가를 구 해주길 바래 여기에 여기에 더하고 있습니다.

많은 포스트의 언급이 있습니다; IIS로 이동 -> 응용 프로그램 풀 -> 응용 프로그램 풀을 마우스 오른쪽 버튼을 클릭 -> 설정을 사전에 이동 -> 32 비트 응용 프로그램을 = 사용 진정한

내 경우에는 내가 구축 한과에 배치 있습니다 64 비트 기계이므로 ~ 으로 설정하면 틀림없이이됩니다. 다시 말하지만, 충분히 간단하지만 내가 생각한 어떤 것이 아닌 것은 관련되어있어서 조정을 한 후에 내 마음이 공백이었습니다.

또 다른 중요한 점은 배포 서버에 CRRuntime_xx.x.x.MSI가로드되어 있는지 확인하는 것입니다.

나를 보내 주신 놀라운 일에 대해 모두들 감사드립니다.

+2

appriciation은 좋지만, 나는 대답을 appriciation letter로 바꾸어야한다고 생각하지 않는다. 점에 더 집중하십시오. – Gnqz