2012-01-09 1 views
0

Silverlight 4.0 응용 프로그램을 만들려면 Visual Studio 2010의 "Business Application"템플릿에서 시작해야합니다. 그런 다음 프로젝트 WCF-RIA 클래스 라이브러리를 추가했으며 기본 ASP.Net 프로젝트에서이를 참조했습니다. 그런 다음 WCF-RIA 프로젝트에서 내 공동 작업자가 만든 외부 .DLL에 대한 참조를 추가했습니다.이 공동 작업자에서 데이터를 가져옵니다.Windows 7에서 IIS 7.5가 설치된 wcf-ria 서비스 클래스 라이브러리의 외부 라이브러리에 대한 오류가 있습니다. 128 비트

문제는 이것입니다. Visual Studio Development Server (Cassini)로 응용 프로그램을 실행하는 동안 모든 것이 정상입니다. IIS (Windows 7 64 비트 버전 7.5)에서 응용 프로그램을 실행하려고하면 외부 .DLL에 대한 참조로 인해 오류가 발생합니다 (모든 .DLL을 제거하면 infact).

내 응용 프로그램을 그대로 구성해야합니다. 그런 다음 질문 : 문제가 무엇이며 (특별히) 어떻게 해결할 수 있습니까?

미리 감사드립니다.

서버 오류 '/ MyApp를'응용 프로그램 :

PILEGGI

이것은 오류이다.


파일 또는 어셈블리 'MyLibrary'또는 해당 종속성 중 하나를로드 할 수 없습니다. 프로그램과 프로그램이 일치하지 않는 경우. 설명 : 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 오류 및 코드에서 시작된 위치에 대한 자세한 정보는 스택 추적을 검토하십시오.

예외 정보 : System.BadImageFormatException : 파일 또는 어셈블리 'MyLibrary'또는 해당 종속성 중 하나를로드 할 수 없습니다. 프로그램과 프로그램이 일치하지 않는 경우.

소스 오류 :

처리되지 않은 예외가 현재 웹 요청을 실행하는 동안 생성되었습니다. 예외의 출처와 위치에 관한 정보는 아래의 예외 스택 추적을 사용하여 식별 할 수 있습니다.

어셈블리로드 추적 : 다음 정보는 'MyLibrary'어셈블리를로드 할 수없는 이유를 확인하는 데 도움이됩니다.

WRN : 어셈블리 바인딩 로깅이 해제되어 있습니다. 어셈블리 바인드 실패 로깅을 사용하려면 [HKLM \ Software \ Microsoft \ Fusion! EnableLog] (DWORD) 레지스트리 값을 1로 설정하십시오. 참고 : 어셈블리 바인드 실패 로깅과 관련된 성능상의 불이익이 있습니다. 이 기능을 해제하려면 [HKLM \ Software \ Microsoft \ Fusion! EnableLog] 레지스트리 값을 제거하십시오.

스택 추적 :

[BadImageFormatException이는 'MyLibrary를'파일 또는 어셈블리를로드 또는 해당 종속성 중 하나 없습니다. Tentativo 디 caricare 않은 프로그램 도입 콘 않은 formato 비 corretto.] System.Reflection.RuntimeAssembly._nLoad (의 AssemblyName 파일 이름, 문자열 코드베이스, 증거 assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark & stackMark, 부울 throwOnFileNotFound, 부울 forIntrospection, 부울 suppressSecurityChecks) +0 시스템 .Reflection.RuntimeAssembly.InternalLoadAssemblyName (의 AssemblyName assemblyRef, 증거 assemblySecurity, StackCrawlMark & stackMark, 부울 forIntrospection, 부울 suppressSecurityChecks) 567 System.Reflection.RuntimeAssembly.InternalLoad (문자열 assemblyString, 증거 assemblySecurity, StackCrawlMark & stackMark, 부울 forIntrospection) 192 System.Reflection.Assembly .Load (문자열 assemblyString) +35 System.Web.Configuration.CompilationSection.LoadAssemblyHelper (문자열의 AssemblyName, 부울 starDirective) 147

[ConfigurationErrorsException는 'MyLibrary를'파일 또는 어셈블리를로드 또는 해당 종속성 중 하나 없습니다. Tentativo 디 caricare 않은 프로그램 도입 콘 않은 formato 비 corretto.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper (문자열의 AssemblyName, 부울 starDirective) 1298 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() 430 System.Web. Configuration.AssemblyInfo.get_AssemblyInternal() +104 System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) 334 System.Web.Compilation.BuildManager.CallPreStartInitMethods() 264 System.Web.Hosting.HostingEnvironment.Initialize (ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory, configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, 예외 appDomainCreationException) +1021

[HttpException (0x80004005) : 파일 또는 어셈블리 'MyLibrary'또는 해당 종속성 중 하나를로드 할 수 없습니다. Tentativo 디 caricare UN PROGRAMMA 콘 UN formato 비 corretto.] System.Web.HttpRuntime.FirstRequestInit (HttpContext를 컨텍스트) 646 System.Web.HttpRuntime.EnsureFirstRequestInit (HttpContext를 컨텍스트) 141 System.Web.HttpRuntime.ProcessRequestNotificationPrivate (IIS7WorkerRequest wr, HttpContext context) +771


버전 정보 : Microsoft .NET Framework 버전 : 4.0.30319; ASP.NET 버전 : 4.0.30319.1

답변

0

좋아, 내가 발견 한 문제는 DLL이 32 비트 시스템 용으로 만들어졌으며 IIS가 기본적으로 운영 체제의 동일한 CPU 용으로 만들어진 파일 만 허용한다는 것입니다. 내 64 비트입니다). 해결 방법 : 2 가지 옵션 : 64 비트 CPU 용 DLL을 다시 빌드하거나 응용 프로그램 풀의 "32 비트 응용 프로그램 허용"속성을 변경합니다.