1

複数のプロジェクト (そのうちの 1 つは MVC) を含むソリューションを IIS7 に公開しようとしています。MVC プロジェクトが発行され、いくつかのビューがアクセスされていると、次のエラーが発生します。

ファイルまたはアセンブリ 'NHibernate.Mapping.Attributes, Version=3.2.0.0, Culture=neutral, PublicKeyToken=aa95f207798dfdb4' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

これは、アクセスしようとしているビューが、そのソリューションの別のプロジェクトの関数を呼び出しており、このライブラリが必要なために発生します!

しかし、このライブラリは MVC プロジェクトには含まれていません!

そのDLLをMVCプロジェクトで参照することで解決できました!しかし、他のすべてのプロジェクトですべての DLL を参照するのは意味がないため、別の解決策が必要です! MVC プロジェクトに "Web Deploy" パブリッシュ オプションを使用しています。他のすべてのプロジェクトのすべての DLL を参照せずにパブリッシュして動作させる別の方法はありますか?

4

1 に答える 1

0

MVC プロジェクトによって直接参照されていないアセンブリを展開する方法に関する記事があります: http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx

基本的に、プロジェクトに _bin_deployableAssemblies というフォルダーを作成し、アセンブリを追加する必要があります。それらは Web サイトとともに展開されます。

記事からの引用は次のとおりです。

これがキッカーです。Web アプリケーションを構築していて、アセンブリを展開する必要があるが、参照したくないし、bin ディレクトリにチェックインしたくない場合は、このフォルダーを自分で追加して、独自のアセンブリをここに配置するだけです。

于 2013-05-17T09:02:26.310 に答える