2009-10-09 9 views
2

ASP.NET MVC 프로젝트에서 작업하며 공유 된 개발 서버에 배포하는 데 어려움이 있습니다.MVC 응용 프로그램은 Visual Studio에서 작동하지만 IIS7은 수행하지 않습니다.

로컬에서는 로컬 Visual Studio 2008 서버를 사용하여 디버깅 할 때 모든 것이 복숭아로 작동합니다. 로컬 응용 프로그램을 추가

Event sequence: 1 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/APPLICATION_NAME-4-128995312096183595 
    Trust level: Full 
    Application Virtual Path: /APPLICATION_NAME 
    Application Path: E:\PROJECTS\APPLICATION\APPLICATION_NAME\APPLICATION_NAME\app\APPLICATION_NAME.Web\ 
    Machine name: PC 

Process information: 
    Process ID: 4608 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\DefaultAppPool 

Exception information: 
    Exception type: HttpException 
    Exception message: Unable to find an entry point named 'BCryptGetFipsAlgorithmMode' in DLL 'bcrypt.dll'. 

Request information: 
    Request URL: http://localhost/APPLICATION_NAME 
    Request path: /APPLICATION_NAME 
    User host address: ::1 
    User: 
    Is authenticated: False 
    Authentication Type: 
    Thread account name: IIS APPPOOL\DefaultAppPool 

Thread information: 
    Thread ID: 6 
    Thread account name: IIS APPPOOL\DefaultAppPool 
    Is impersonating: False 
    Stack trace: at System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() 
    at System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() 
    at System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) 


Custom event details: 

배포 오류를 찾은 후, 나는 시도, 그리고이 발생할 것으로 보인다 : 오류 로그에서

Parser Error 
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.## Heading ## 

Parser Error Message: Unable to find an entry point named 'BCryptGetFipsAlgorithmMode' in DLL 'bcrypt.dll'. 

Source Error: 

Line 1: <%@ Application Codebehind="Global.asax.cs" Inherits="APPLICATION_NAME.Web.MvcApplication" Language="C#" %> 


Source File: /APPLICATION_NAME/global.asax Line: 1 

Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927 

그러나, 한 번 배치, 나는 다음과 같은 오류가 발생합니다 같은 응용 프로그램.

내 로컬 컴퓨터에서 Windows 7 RTM (x64)을 사용하고 공유 서버에서 Windows Server 2008 Standard (x86)를 실행하고 있습니다.

로컬 보안 정책의 내 FIPS 암호화가 사용되지 않아 손실이 발생합니다.

+0

"로컬에서 응용 프로그램을 추가하려고했습니다"라고 말하면 Visual Studio 웹 서버가 아닌 IIS7 전체에서 Win7에서 실행하려고 했습니까? – danswain

답변

2

x64로 개발하고 x86 환경에 배포 할 때 몇 가지 문제가있었습니다. 플랫폼 대상에서 "모든 CPU", x86 또는 x64로 컴파일하고 있습니까?

x86에 직접 컴파일하여 도움이되는지 확인해보십시오.

2

here에서 Bcrypt.net을 사용하고 있습니까? 그렇다면 다른 DLL 이름으로 빌드해야합니다 (예 : BCryptNet.dll로 빌드).

문제는 새 Windows API가 Vista/Windows 2008에서 웹 응용 프로그램 bin/디렉토리에 bcrypt.dll이 있으면 시스템 DLL을 찾을 수 없습니다.