VB.Net 2k5 Web应用程序
基本应用程序有一个带有httpModules部分的web.config文件:
子项目编译到与基础应用程序相同的bin文件夹,但是我收到此消息:
分析程序错误消息:无法加载 文件或程序集 'Castle.MonoRail.Framework'或其中之一 它的依赖关系。系统不能 找到指定的文件。 (c:\ inetpub \ wwwroot \ web.config行 132)
来源错误:
第131行:[<] httpModules [>]
第132行:[<]添加name =“monorail” 类型=“Castle.MonoRail.Framework.EngineContextModule, Castle.MonoRail.Framework“/ [>] ---错误在这里
线 133:[<] add name =“ScriptModule” 类型=“System.Web.Handlers.ScriptModule, System.Web.Extensions程序, 版本= 1.0.61025.0,文化=中立, 公钥= 31bf3856ad364e35" / [>]
第134行:[<]添加name =“active-record” 类型=“Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord“/>
答案 0 :(得分:1)
我解决了这个问题。首先,是的,子项目正在构建到父bin文件夹。
问题是,我将父文件夹和子文件夹都设置为IIS中的应用程序。我让孩子只是一个虚拟文件夹,问题就消失了。
为什么这样做?我试过在HTTPModules周围乱码,发现MS ScriptModule没有问题,但是如果我先移动ActiveRecord模块,那就有问题了。我认为如果这些模块试图不止一次加载就会出现问题。 (只是一个猜测。)
或者可能是孩子的安全性,因为它是一个应用程序,不允许从另一个应用程序加载程序集。
现在正在努力解决其他问题。感谢。
答案 1 :(得分:0)
您是否在Web应用程序项目中添加了对Castle.MonoRail.Framework的引用?
答案 2 :(得分:0)
您的子项目是否配置为使用父bin文件夹?
我假设这样的布局:
app
/bin
/subapp
/bin
除非您更改了配置中的探测路径,否则subapp将不会在父bin中看到任何内容。这适用于web.config中定义的任何内容,例如引用程序集的配置节,httpmodules等。