6

私の 2 つの VS 2005 C++ プロジェクトでは、プロジェクトをビルドするときに VS が .sln ファイルに書き込もうとしています。これが当てはまらない他の VS 2005 C++ プロジェクトがいくつかあります。ClearCase ソース管理が VS 2005 インストールに統合されており、バッチ ファイルを使用してオーバーナイト ビルドを実行しようとすると、ClearCase チェックアウト ダイアログ ボックスが表示されてビルドが一時停止するという問題があります。

VS が .sln ファイルで変更しているものを見ると、それはプロジェクト ラインの 2 番目の GUID です。

構築前:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{A2AF232A-7F27-4340-81D5-8ABFD10994D2}"

構築後:

Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InterCommClientB", "InterCommClientB.vcproj", "{67BE85B7-3234-484E-88FB-4F0E42096583}"

感謝して受け取った助け。VC++ 6.0 から最近移行したばかりなので、私は VS 2005 を初めて使用します。

SP1がインストールされたVS 2005 Professional Editionを実行しています。

よろしく、

グレッグ。

4

3 に答える 3

4

私も同様の問題を抱えていました。古いバージョンのVS(6や2003など)からプロジェクトを変換する場合、VS2010はプロジェクトGUIDを.vcxprojファイルに追加していないようです。そのため、そのようなプロジェクトを含むソリューションを開くと、VSはそのようなプロジェクトのGUIDを再作成し、.slnファイルを変更しますが、.vcxprojファイルは変更しません。したがって、そのようなソリューションをもう一度開くと、状況は同じになり、.slnファイルが再び変更される可能性があります。

これを参照してください:http://connect.microsoft.com/VisualStudio/feedback/details/586258/missing-projectguid-in-vcxproj-files

于 2011-08-11T10:11:51.297 に答える
1

ここで推測していますが、InterCommClientB プロジェクト (プロジェクト内のファイルではなく、プロジェクト) にいくつかの変更が加えられているようです。これが発生すると、sln が更新されます。この場合、プロジェクト GUID のみが更新されます。

この問題を解決する最善の方法は、ソリューションを手動でビルドしてから変更をチェックインすることです。このようにして、sln ファイルはビルド時に変更されません。

私の 2 番目の最良の推測は、あなたのコンピューターで既にこの変更を行っており、正常に動作しているが、ナイト ビルドを行っている PC で最新バージョンを取得していないということです。

于 2009-01-26T11:11:22.263 に答える
0

これは完全に問題になる可能性がありますが、Visual Studio でソリューションが変更されている場合や、ソリューションが開かれている場合に、ソリューション ファイルのチェックインに失敗することがあります。Visual Studio を閉じてから、ソリューション ファイルをコミットしてみてください。

そうでない場合は、ソリューション ファイルが使用する GUID を変更する必要がある原因となっている他の機関が存在する可能性があります。ある例では、私はナショナル インスツルメンツの .NET ツールを使用していましたが、再構築を行うたびにそのようなアクション (不適切な理由による無関係なファイルの変更) をトリガーするライセンス スキームがありました。

ビルドからの出力 (ログまたは出力ウィンドウ) を注意深く見てください - そこにさらに手がかりが見つかるかもしれません!

于 2009-02-01T21:08:16.480 に答える