2

在一个 ASP.NET MVC 项目上工作,我在部署到共享开发服务器时遇到了一些困难。

在本地,当使用本地 Visual Studio 2008 服务器进行调试时,一切正常。但是,一旦部署,我会收到以下错误:

    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 

在错误日志中:

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: 

发现部署错误后,我尝试在本地添加一个应用程序,这似乎导致相同的应用程序。

在我的本地开发机器上,我使用的是 Windows 7 RTM (x64),在共享服务器上我运行的是 Windows Server 2008 Standard (x86)。

翻来覆去,我在本地安全策略中的 FIPS 加密被禁用,所以我有点不知所措。

4

2 回答 2

2

你是从这里使用 Bcrypt.net吗?如果是这样,您需要使用不同的 dll 名称构建它(例如,将其构建为 BCryptNet.dll)

问题是 Vista/Windows 2008 中有一个新的 Windows API 会尝试加载 bcrypt.dll,如果您的 Web 应用程序 bin/ 目录中有 bcrypt.dll,它就找不到系统 dll。

于 2010-04-03T17:29:54.403 回答
2

过去在 x64 上开发和部署到 x86 环境时,我遇到了一些问题。在平台目标下,您是编译到“任何 CPU”、x86 还是 x64?

尝试直接编译到 x86,看看是否有帮助。

于 2009-10-09T11:47:48.537 回答