ASP.NET Web サイト プロジェクト タイプ (適切な .csproj または .vpproj プロジェクト ファイルがなく、ルーズ ファイルの単なるフォルダー) がある場合、NuGet を使用してパッケージを追加すると、*.dll が作成されます。親パッケージ フォルダー内のパッケージの dll を参照するために、Bin ディレクトリ内の .refresh ファイル。
たとえば、パッケージ マネージャー コンソールから「install-package elmah」を実行すると、Elmah はプロジェクトのソリューション ディレクトリの packages フォルダーに配置され、ファイル Elmah.dll.refresh はプロジェクトの Bin フォルダーに配置されます。
プロジェクトをローカルでビルドすると、更新ファイルによって参照される DLL が Visual Studio によって自動的に取り込まれます。サイトと Elmah は正しく動作します。プロジェクトの Bin ディレクトリにある Elmah.dll ファイルをソース管理にチェックインしていません (更新ファイルとパッケージ フォルダーのみがチェックインされています)。
ただし、Web 配置プロジェクトを使用してサイトをプリコンパイルし、配置の web.config 置換を行っています。この方法でソリューションをビルドすると、Elmah.dll が Web サイト プロジェクトの Bin ディレクトリに自動的に取り込まれず、DLL がないためにサイトが正しく動作しません。
NuGet は、この種のシナリオでどのように使用されることを意図していますか? Bin ディレクトリに Elmah.dll をチェックインする必要がありますか?