2011-04-07 9 views
2

VB.Net 2K5 WebアプリケーションHttpModuleをベースからWebアプリケーションは、サブプロジェクトにロードされない

ベースのアプリケーションはのHttpModulesセクションでweb.configファイルがあります。

サブプロジェクトがにコンパイルします基本アプリケーションと同じbinフォルダが、私はこのメッセージが表示されます。

Parser Error Message: Could not load file or assembly 'Castle.MonoRail.Framework' or one of its dependencies. The system cannot find the file specified. (c:\inetpub\wwwroot\web.config line 132)

Source Error:

Line 131: [<]httpModules[>]

Line 132:         [<]add name="monorail" type="Castle.MonoRail.Framework.EngineContextModule, Castle.MonoRail.Framework"/[>] --- Error here

Line 133:         [<]add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/[>]

Line 134:         [<]add name="active-record" type="Castle.ActiveRecord.Framework.SessionScopeWebModule, Castle.ActiveRecord"/>

答えて

1

私はこれを解決しました。まず、はい、サブプロジェクトは親binフォルダにビルドされました。

問題だった、私はIISでアプリケーションとして設定し、親と子フォルダの両方を持っていました。私は子供を仮想フォルダにしてしまい、問題は解決しました。

これはなぜ機能しましたか?私はHTTPModulesをシャッフルしようとしましたが、MS ScriptModuleに問題がないことがわかりましたが、ActiveRecordモジュールを最初に移動した場合、問題が発生しました。私は、これらのモジュールには複数回ロードしようとすると問題が発生すると思います。 (ただの推測。)

それとも、それはアプリケーションだったので、子供のためのセキュリティは、他のアプリケーションからの読み込みアセンブリを許可しなかったということであったかもしれません。

それは他の問題に上...今取り組んでいます。ありがとう。

+0

Web.configはマシンルートからすべて継承されます。したがって、モジュールは継承されます。アプリケーションがアセンブリを見ることができない場合、アプリケーションはロードされず、エラーがスローされます。アセンブリは、GACまたはアプリケーションのbinフォルダのいずれかの既知の場所に存在する必要があります。上記の私の答えを参照してください。 –

0

は、あなたのWebアプリケーションプロジェクトにCastle.MonoRail.Frameworkへの参照を追加したことがありますか?

0

は、あなたのサブプロジェクトは、親のbinフォルダを使用するように設定されて?

私はこのようなレイアウトを想定している:あなたが設定でプロービングパスを変更した場合を除き

app 
    /bin 
    /subapp 
    /bin 

、subappは親ビンには何も表示されません。これはweb.configで定義されているもの(例えば、configセクション、httpmodulesなど)を参照するものです。

+1

ええええええええええええええええええええええええええええええええええええええええ、これはまだいくつかの問題に役立つ可能性があります。 –

関連する問題