5

私は、クラスライブラリとライブラリのインストーラーの2つのプロジェクトで非常に単純なC#ソリューションに取り組んでいます。クラスライブラリ自体の構築には約1秒かかります。ただし、インストーラーのビルドには、予測できない/信じられないほど長い時間がかかります。さらに興味深いことに、CPUはコンパイル中に「休憩を取って」おり、単一のコアを5〜10秒間スパイクしてから、0近くに数秒間ヒットしているように見えます。

インストーラープロジェクトは非常にシンプルです。これは、クラスライブラリ(単一のDLL、約2MB)といくつかのレジストリキーからの出力にすぎません。

これを引き起こす可能性のあるアイデアはありますか?!

4

3 に答える 3

0

この正確な問題が発生し、msiビルドプロセスがc:\ Documents and Settings \ username \ Local Settings\Tempフォルダーにvsi*.tmpファイルを作成することがわかりました。これらのファイルはクリーンアップされないため、時間の経過とともにビルドされます。存在するこれらのファイルが多いほど、msiの作成に時間がかかります。スケジュールされたタスクを使用して、24時間以上経過したファイルを削除することで、問題を解決しました。

注-この状況では、サーバーはWindows Server 2003 R2-であるため、c:\ DocumentsandSettingsプレフィックスが付いています。WindowsVistaまたはWindows7を使用している場合は、代わりにc:\ Users\usernameでvsi*.tmpを検索してファイルを見つけることができます。

于 2011-06-15T07:03:12.777 に答える
0

誰かがグーグルでこの質問に出くわし、他の解決策のどれもあなたの問題を解決していないようで、あなたが私のようにUSBドライブであなたの仕事をした場合...USBドライブを使用しないでください。次に、TFSで1つのワークスペースをセットアップしてから、USBをドラッグしてその価値がないようにします。ローカルドライブに別のワークスペースを作成し、必要な場合にのみUSBを使用してください。

于 2013-01-10T07:38:15.067 に答える
0

しばらくいじくり回した後、DLLビルドに登録を実行させるためにRegister設定をNOT REGISTER for COMに変更すると、インストーラービルドの信頼性が大幅に向上しました(そして高速になりました)。COM登録は単純に機能するはずなので、これが解決策になるかどうかはわかりません。しかし、私は少なくともこの問題を回避することができました。

于 2013-01-10T14:50:18.033 に答える