5

自動ビルドが失敗する原因となる小さな問題があります。

ClearCaseリクエストを介してVS2005からVS2008VSに最近変換されたソリューションを開くと、ソリューションファイルをチェックアウトします。

許可すれば、とにかく変更は行われず、デフォルトでは、ClearCaseは変更なしのチェックインを好みません。そのため、チェックアウトを元に戻します。それ以降、VSは満足しており、.suoファイルを書き込むことができました。

ソリューションファイルの未読保護を解除する場合は、VS2008を起動して.suoファイルを作成します。次に.slnファイルのハイジャックを解除すると(とにかく変更がないため、VS2008は気づきません)、VS2008を再度起動します。チェックアウトを要求しません。

ビルドスクリプトでは、ビューからすべてのビュープライベートファイルを削除してから、制御されたファイルのハイジャックを強制的に解除して更新を行います。次に、デプロイメントプロジェクト(したがってすべての依存関係)をビルドします。.suoファイルが削除されると、毎回チェックアウト.slnファイルの動作に分類されます。

また、ビルドサーバーには、チェックアウトを求めるダイアログが表示される人がいないため、ビルドがハングします。

ビルドスクリプトを変更して(別名bodge)、.suoファイルを削除しないようにすることもできますが、これは行いたくありません。

編集:説明-.suoファイルはClearClaseにチェックインされていません-これはVS2008によって作成されているビュープライベートファイルですが、このファイルを作成するには、実際の理由ではなく.slnファイルをチェックアウトする必要があります。

さらに編集:

私はこれに対する解決策を見つけました-このスレッドのフォローアップ投稿に従って統合を無効にしました。

4

4 に答える 4

4

さて、問題の解決策を見つけました。実際には非常に簡単でした。

ビルド サーバーで Visual Studio ClearCase 統合を無効にしました。

展開プロジェクトを構築する必要があるため、VS が使用されているため、これを行うために devenv を呼び出します。ただし、ビルド エンジンとしてのみ使用しています。ソース アイテムはすべて ClearCase から取得されるため、ビルド エンジンがソース アイテムを変更する方法を知る必要はありません。ビルド サーバーが変更できる唯一の項目は、AssemblyInfo ファイル内のアセンブリ ファイルのバージョン番号属性ですが、これは Visual Studio ではなく NAnt で行います。

そのため、機能を無効にすると問題は解決します。おそらくすべての人にとっての解決策ではありませんが、ビルドサーバーではそれが進むべき道でした.

于 2009-03-11T11:41:34.330 に答える
1

このトラブルシューティング項目により、開発環境の問題を解決したこのフィックスパックにたどり着きました。私たちはまだ VS2005 を使用していますが、VS2008 でうまくいかなかったのと同じ問題だと思います。

于 2009-07-23T15:06:54.503 に答える
0

これは VS2008 では正常なようです。ソリューションを開くときに .sln ファイルをチェックアウトします。私も好きじゃない。

ただし、問題は .suo ファイルもチェックインされていることです。このファイルはソース管理下に置かないでください。これは、proj.user ファイルに似ています。suo は Solution User Options の略だと思います。

于 2009-03-09T11:22:28.417 に答える
0

あなたは出来る:

  • " " の直後のスナップショット ビューで sln ファイルを乗っ取るために、スクリプトを更新してくださいcleartool update -force -overwrite
  • または、sln がチェックアウトされるのを避けるために、.suo ファイルをチェックインし たままにしておくことができます。

上記の提案が機能する場合、このファイルをバージョン管理下に置きたい理由がいくつかあります。

  • .suo ファイルは使い捨てであるため(VS2008 は、存在しない場合は新しいファイルを作成するだけです)、ソース管理下に置くことは、その作成を回避する方法と見なされる可能性があります (したがって、ClearCase プラグインがそれを検出して「ソースに追加しようとする」ことを回避します)。それを制御するか、チェックアウトします)。

  • .suo ファイルをバージョン管理下に置く (ただし、それ以上のチェックアウト/チェックインによって更新されない) ことのもう 1 つの利点は、チェックアウトしたプロジェクトを、別の場所にダウンロードした同じプロジェクトの別のチェックアウトしたバージョンと比較する場合です。体系的に異なるのではなく (if はバイナリ ファイルであり、バイナリ ファイルの新しいバージョンはそれ自体を異なるものとして登録するため)

于 2009-03-09T11:28:23.193 に答える