次の方法で共有


ソース管理におけるシステム定義モデル (SDM) ドキュメント

更新 : 2007 年 11 月

分散システム デザイナでは、アプリケーション ダイアグラムやシステム ダイアグラムなどの分散システム ダイアグラムは、ソリューション レベルにスコープされます。一方、アプリケーション定義ファイル (.sdm) などのシステム定義モデル (SDM) ドキュメントは、プロジェクト レベルにスコープされます。これらのファイルは、他のファイルと同じように、ソース管理でチェックインおよびチェックアウトできます。ただし、これらのドキュメントとソース管理との関係について、特にドキュメントを同期する場合は、次の考慮事項に注意が必要です。

詳細については、次のトピックを参照してください。

以下の各セクションで、ソース管理における SDM ドキュメントの扱いが詳細に説明されています。

  • ローカル バージョンとサーバー バージョンのチェックアウト

  • 共有ソリューションからの SDM ドキュメントまたは特定のプロジェクト ファイルの追加

  • ソース管理における同期

ローカル バージョンとサーバー バージョンのチェックアウト

ソース管理の設定により、ファイルのローカル バージョンまたはサーバー バージョンをチェックアウトするように選択できます。ただし、SDM ドキュメントは同期時の再読み込みはサポートしていません。そのため、ファイルのサーバー バージョンをチェックインしてからチェックアウトするまでに加えた変更は、そのファイルが再読み込み中の場合は、ソリューションと同期できません。たとえば、アプリケーション デザイナで生成した Web プロジェクトと統合した Microsoft FrontPage のソース管理を使用している場合、それらのプロジェクトに加えた変更は、ファイルが再読み込み中の場合は、何も通知されずに、同期から除外されます。

ms181814.alert_note(ja-jp,VS.90).gifヒント :

この問題を回避するには、ファイルの再読み込みが必要な操作を実行する前にファイルをチェックアウトするか、ソース管理のオプションを設定し、ファイルのローカル バージョンを常にチェックアウトするようにします。

共有ソリューションからの SDM ドキュメントまたは特定のプロジェクト ファイルの追加

Team Foundation バージョン管理を使用していて、SDM ドキュメントまたは特定のプロジェクト ファイル (コード ファイルなど) を他のソリューションから自分のソリューションに追加する必要がある場合、[ソース管理で開く] ダイアログ ボックスを使用しても、目的の項目をソリューションに追加することはできません。このダイアログ ボックスには、すべてのファイルを選択したり、SDM ファイル拡張子または他の特定のプロジェクト ファイル拡張子 (コード ファイル拡張子など) の付いた項目を選択したりするためのオプションが表示されません。詳細については、「方法 : バージョン管理からソリューションおよびプロジェクトを開く」を参照してください。

これらのファイルを自分のソリューションに追加する方法については、「方法 : ソース管理下の共有ソリューションから SDM ドキュメントおよびプロジェクト ファイルを追加する」を参照してください。

ソース管理における同期

アプリケーション ダイアグラムの特定のアプリケーション定義を実装すると、アプリケーション プロジェクトは定義ごとに生成されます。プロジェクトには、コード ファイル、設定ファイル (.config)、.sdm ファイルなどが含まれます。この .sdm ファイルは、アプリケーション定義のメタデータを含む SDM ドキュメントです。

アプリケーション ダイアグラムを変更するか、プロジェクトに関連するコード ファイルや .config ファイルを変更する場合、アプリケーション ダイアグラムとすべての .sdm ファイルを更新する必要があります。アプリケーションを実装すると、コードとダイアグラムが相互に同期されても、そのコードがマスター定義となります。アプリケーション ダイアグラムを開くと、Visual Studio はコードとダイアグラムの変更をすぐに同期しようとします。たとえば、Web サービス定義と .asmx ファイルを ASP.NET アプリケーションのプロジェクトに追加するか、.sdm ファイルに影響するアプリケーション ダイアグラムを変更すると、同期処理が発生します。詳細については、「システム定義モデル (SDM) ドキュメントの同期」を参照してください。

同期時にチェックアウトが必要なシナリオと不要なシナリオ

シナリオによって、同期時にチェックアウトが必要な場合と不要なケースがあります。アプリケーション ダイアグラム ファイル (.ad) や .sdm ファイルなどのように、同期が必要なファイルを Visual Studio のソース管理にチェックインすると、ソース管理のユーザー設定によって、Visual Studio は必要なファイルを自動的にチェックアウトするか、ファイルをチェックアウトするようユーザーに求めます。

ms181814.alert_note(ja-jp,VS.90).gifメモ :

必要なファイル数によっては、チェックアウト プロンプトが 1 つ以上表示されることがあります。

たとえば、ソリューションにアプリケーション ダイアグラム ファイル (.ad) が含まれ、1 つ以上のプロジェクト (アプリケーション ダイアグラム上のアプリケーション用に生成済みのプロジェクト) がソース管理からソリューションに追加された場合、Visual Studio では、そのプロジェクトに含まれる .sdm ファイルが自動的にチェックアウトされるか、チェックアウトするように求めるメッセージが表示されます。チェックアウトはキャンセルしないでください。アプリケーション ダイアグラムが開いているとき、または次回開くときに、そのダイアグラムはロックされます。詳細については、「チェックアウトのキャンセル」および「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。

ms181814.alert_note(ja-jp,VS.90).gifヒント :

.sdm ファイルなどの SDM ドキュメントでの作業を終了したときは、他のユーザーがチェックアウトできるようにチェックインします。たとえば、他のユーザーが .sdm ファイルを含むプロジェクトをアプリケーション ダイアグラム ファイルを含むソリューションに追加する場合などです。

実装後であっても、設定ファイル (.config) のエントリを表す設定は .sdm ファイルと .config ファイルに格納されます。そのため、設定および制約エディタを使用した設定や制約の変更や、.sdm ファイルで表される .config ファイルの設定の変更は、アプリケーション ダイアグラムと .sdm ファイルのチェックアウトが要求されます。詳細については、「設定の適用」を参照してください。

一方、Web サービスを持つ ASP.NET アプリケーションを実装した場合、Web サービスの操作は Web サービス クラス ファイルで定義され、アプリケーション ダイアグラム ファイル (.ad) には表されません。そのため、[Web サービスの詳細情報] ウィンドウを使用して Web サービスの操作を変更するか、コードを直接変更しても、その変更は Web サービス クラス ファイルに影響するために、アプリケーション ダイアグラムのチェックアウトは要求されません。詳細については、「アプリケーション ダイアグラムでの ASP.NET アプリケーションの概要」を参照してください。

チェックアウトのキャンセル

チェックアウトは、プロンプトが表示された時点でキャンセルできます。ただし、チェックアウトをキャンセルすると、必要なファイルが Visual Studio で同期されなくなります。チェックアウトを要求する変更によっては、チェックアウトをキャンセルすることによって次のような結果が生じます。

  • デザイナで加えた変更はロールバックされます。最初の変更とそれ以降の変更は、すべてロールバックされます。

  • コードまたは設定ファイルに加えた変更は、ロールバックされません。

    アプリケーション ダイアグラム ファイル (.ad) はロックされ、読み取り専用で表示されます。[エラー一覧] ウィンドウに表示されたエラーは、同期が完了しなかったことを示します。アプリケーション ダイアグラムの読み取り専用状態は、関連付けられたプロジェクト ファイルと同期されず、未同期の情報が含まれることがあることを示します。

    この問題を解決するには、ダイアグラムを閉じてから、ロールバックされなかった変更を元に戻し、同期するダイアグラムを再び開きます。詳細については、「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。

  • コードがコンパイルされず、ビルド エラーが発生することがあります。

アプリケーション ダイアグラムをソース管理にチェックインすると、同期するダイアグラムはチェックアウトを要求します。ただし、ダイアグラムのサーバー バージョンをチェックアウトするようにソース管理を設定した場合は、ダイアグラムを再読み込みする必要があります。SDM ドキュメントは同期時の再読み込みをサポートしていないため、ダイアグラムはチェックアウトできません。アプリケーション ダイアグラムをチェックアウトできない場合、ダイアグラムは同期できないためロックされます。ロックされたアプリケーション ダイアグラムを解決するには、同期するダイアグラムを閉じて再び開きます。

この問題を回避するには、ファイルの再読み込みが必要な操作を実行する前にファイルをチェックアウトするか、ソース管理のオプションを設定し、ファイルのローカル バージョンを常にチェックアウトするようにします。

SDM ドキュメントの最新バージョンの取得

アプリケーション ダイアグラム (.ad) ファイルを開いたまま最新バージョンの SDM ドキュメントを取得すると、ダイアグラムがロックされ、読み取り専用状態で表示されます。この操作では、アプリケーション ダイアグラムを再読み込みする必要があり、これらのファイルの同期が失われる場合があります。詳細については、「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。

アプリケーション ダイアグラムのロックを解除するには、ダイアグラムを一度閉じてから開き直します。

参照

参照

システム定義モデル (SDM) ドキュメントの同時チェックアウトと変更

その他の技術情報

Team Foundation

分散システム デザイナの概要