0

私は、130 以上のプロジェクトで構成される Visual Studio のかなり大きなソリューションを使用しています (質問しないでください)。

約 40 の異なるソリューション構成があるため、一度に構築されるのはソリューションのサブセットのみです。約 25 のプロジェクトをビルドするだけの場合でも、SSD を搭載したマシンでインクリメンタル ビルドを実行するには、約 30 秒から 1 分かかります。

これは古いソリューションであるため、時間の経過とともに成長し、現在では一部の機能が低下している可能性がありますが、詳細なビルド ログを有効にすると、各ビルドで次のログが記録されます。

 Dependency "AWSSDK, Version=1.0.9.0, Culture=neutral, PublicKeyToken=cd2d24cd2bace800".
      Resolved file path is "C:\Program Files (x86)\AWS SDK for .NET\bin\AWSSDK.dll".
      Reference found at search path location "{AssemblyFolders}".
          For SearchPath "aaaaaaaaaaaa\bin\Debug".
          Considered "bbbbbbbbbbb\bin\Debug\AWSSDK.dll", but it didn't exist.
          Considered "bbbbbbbbbbb\bin\Debug\AWSSDK.exe", but it didn't exist.
          For SearchPath "{TargetFrameworkDirectory}".
          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\AWSSDK.exe", but it didn't exist.
          For SearchPath "{Registry:Software\Microsoft\.NETFramework,v4.0,AssemblyFoldersEx}".
          Considered "C:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\NUnit 2.5.2\bin\net-2.0\framework\AWSSDK.exe", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\AWSSDK.dll", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\AWSSDK.exe", but it didn't exist.
          Considered "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ReferenceAssemblies\v4.0\AWSSDK.dll", but it didn't exist.
          ...
  Required by "bbbbbbbb\bin\Debug\xxxxxxxxx.dll".
  Found related file "C:\Program Files (x86)\AWS SDK for .NET\bin\AWSSDK.xml".
  This reference is not "CopyLocal" because it's registered in the GAC.

これは、少なくともさらに 100 のパスに続きます。

AWSSDK は、そのファサードとして機能するコア ライブラリによって参照され、ファサードを参照する他のすべてのプロジェクトがこれらのメッセージを繰り返します。ファサードには Copy Local: True で参照されるライブラリがありますが、GAC にあるようで、dll to bin フォルダーが付属していないようです。

これだけでなく、同じメッセージを出力する他の多くの依存関係があります。

最終的には見つかりますが、これがハードドライブのシーク時間に適しているとは思えず、ビルド時間に悪影響を与える可能性があります。

これをグーグルで検索しても、関連する情報は見つかりませんでした。

編集:わかりました、主に Visual Studio での Visual WebGui 統合に遅いビルドの問題を絞り込みました。調査結果をここに投稿しました: http://visualwebgui.com/Developers/Forums/tabid/364/forumid/56/postid/50540/scope/posts/Default.aspx

それでも、MSBuild がそれほど多くのパスを考慮せず、より高速に検索できるようにする方法を知ることは興味深いでしょう。ただし、SSD は非常に役立ちます。

4

1 に答える 1

0

私のプロジェクトでも同様の問題があります。それがあなたを助けるかどうかはわかりませんが、あなたはそれを試してみるかもしれません。ここで私の質問の下部にある私の更新を読んでください:.suoファイルのために私のWebアプリケーションの公開は完了するのに長い時間がかかる可能性があります

于 2011-10-06T13:08:36.970 に答える