我在重构duwamish配置文件的时候,碰到一个问题,百思不得其解。
报错信息如下:
配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。
分析器错误信息: 创建节处理程序时发生异常。
源错误:
行 4: <configuration>
行 5: <configSections>
行 6: <section name="ApplicationConfiguration" type="Ecgame.SystemFramework.ApplicationConfiguration,SystemFramework" />
行 7: </configSections>
行 8:
源文件: c:/inetpub/wwwroot/Web/web.config 行: 6
程序集加载跟踪: 下列信息有助于确定程序集“SystemFramework”无法加载的原因。
=== Pre-bind state information ===
LOG: DisplayName = SystemFramework
(Partial)
LOG: Appbase = file:///c:/inetpub/wwwroot/Web
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Post-policy reference: SystemFramework
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/web/23dace55/c62a7f07/SystemFramework.DLL.
LOG: Attempting download of new URL file:///C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/web/23dace55/c62a7f07/SystemFramework/SystemFramework.DLL.
LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/Web/bin/SystemFramework.DLL.
根据LOG, 发现找不到systemFrame.dll文件。 这个文件就是“配置文件”处理程序编译后的dll,应该位于bin目录下。通过比较,发现位于bin目录下的是ecgame.systemFrame.dll。文件名不匹配!!!
只要通过点击项目systemFrame项目属性,重新设置输出文件名为systemFrame.dll,或者更改配置文件中处理程序的type为systemFrame而不是ecgame.systemFrame就可以解决这个问题!建议大家以后要小心命名空间和输出文件名!