アプリケーションの実装に関する考慮事項
更新 : 2007 年 11 月
アプリケーション デザイナでアプリケーションを実装するときには、次の考慮事項に注意してください。
インストール要件
セキュリティの考慮事項
実装前の考慮事項
実装のトラブルシューティング
実装後の考慮事項
インストール要件
アプリケーションを実装する前に、次のアイテムを必ずインストールしてください。
アプリケーションを実装するために選択したプログラミング言語。
アプリケーションを実装するために選択した .NET Framework のバージョン (2.0、3.0、または 3.5)。
Microsoft Visual Studio Tools for Office (Office アプリケーションを実装する場合)。Microsoft Office 2003 または Microsoft Office 2007 も必要になります。詳細については、「Visual Studio Tools for Office のインストール」を参照してください。
リモート ASP.NET アプリケーションを実装するには、対象アプリケーション用に選択した .NET Framework のバージョン (2.0、3.0、または 3.5) をリモート サーバー上にインストールします。
セキュリティの考慮事項
アプリケーション定義を特定の設定で構成する場合は、特定のセキュリティ考慮事項が適用されます。詳細については、「設定の適用」を参照してください。
アプリケーション構成ファイル内の暗号化されない設定
アプリケーションの実装時または実装したアプリケーションの編集時に、クリア テキストとして (暗号化されない) 重要情報を伴う設定がアプリケーションの構成ファイルに書き込まれると、Visual Studio からセキュリティ警告が表示されます。[プロパティ] ウィンドウ、設定および制約エディタ、設定および制約エディタから開かれる ComplexSetting コレクション エディタでこれらの設定を編集する場合も、これらの設定は暗号化されずに表示されます。
これらの設定と、アプリケーション構成ファイル内や、設定および制約エディタ内でその設定が表示される場所を、次の表に示します。表には、これらの設定が Visual Studio でどのように表示されるかについても記載しています。
![]() |
---|
対応する設定を編集できるためには、場合によって、適切なリソースをあらかじめ追加する必要があります。詳細については、「リソースの追加」を参照してください。構成ファイル内の設定を暗号化できます。詳細については、「保護された構成を使用した構成情報の暗号化」および「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。 |
設定名 |
設定および制約エディタで表示される位置 |
アプリケーション構成ファイルのセクション |
---|---|---|
Settings |
[アプリケーションの設定]、[Directory]、[Configration] の順に選択すると表示される [AppSettingsSection] リソース |
appSettings |
ConnectionStrings |
[アプリケーションの設定]、[Directory]、[Configuration] の順に選択すると表示される [ConnectionStringsSection] リソース この設定は、データベース コンシューマ エンドポイントのデータベース接続文字列を設定するときに追加できます。このタスクは、[接続のプロパティ] ダイアログ ボックス、[プロパティ] ウィンドウ、または ComplexSetting コレクション エディタを使用して実行できます。 ![]()
接続文字列は、[接続のプロパティ] ダイアログ ボックスおよび [プロパティ] ウィンドウにクリア テキストとして表示されます。パスワードは、[接続のプロパティ] ダイアログ ボックスにマスクされた文字列として表示されます。[プロパティ] ウィンドウには表示されません。設定および制約エディタには、接続文字列がマスクされた文字列として表示されます。ComplexSetting コレクション エディタには、パスワードを含む文字列全体がクリア テキストとして表示されます。
カスタム プロトタイプにデータベース コンシューマ エンドポイントをコピーするか含めると、Visual Studio によって、パスワードを除く接続文字列が新しい場所にクリア テキストとしてコピーされます。 ![]()
データベース コンシューマ アプリケーションを実装すると、Visual Studio によって、アプリケーションの構成ファイルに接続文字列がクリア テキストとして書き込まれます。詳細については、「方法 : 外部データベースへの接続を構成する」を参照してください。
|
connectionStrings |
Password |
[アプリケーションの設定]、[Directory]、[Configuration]、[SystemWebSectionGroup] の順に選択すると表示される [IdentitySection] リソース Visual Studio では、設定および制約エディタでこの設定を表示すると、マスクされた文字列が表示されます。 |
identity |
SqlConnectionString |
[アプリケーションの設定]、[Directory]、[Configuration]、[SystemWebSectionGroup] の順に選択すると表示される [SessionStateSection] リソース |
sessionState |
StateConnectionString |
[アプリケーションの設定]、[Directory]、[Configuration]、[SystemWebSectionGroup] の順に選択すると表示される [SessionStateSection] リソース |
sessionState |
Users |
[アプリケーションの設定]、[Directory]、[Configuration]、[SystemWebSectionGroup]、[AuthenticationSection]、[FormsAuthenticationConfiguration]、[FormsAuthenticationCredentials]、の順に選択すると表示される [FormsAuthenticationCredentials] リソース Visual Studio では、設定および制約エディタでこの設定を表示すると、マスクされた文字列が表示されます。 ![]()
設定の値を ComplexSetting コレクション エディタで表示または編集するとき、値はクリア テキストとして表示されます。
|
authentication の forms の credentials |
Network |
[アプリケーションの設定]、[Directory]、[Configuration]、[NetSectionGroup]、[MailSettingsSectionGroup] の順に選択すると表示される [SmtpSection] リソース Visual Studio では、設定および制約エディタでこの設定を表示すると、マスクされた文字列が表示されます。 |
mailSettings の smtp |
アプリケーション構成ファイルの設定のセキュリティ処理
重要な情報を含む設定が暗号化されているかどうかにかかわらず、Visual Studio は次の方法で設定を扱います。
アプリケーション ダイアグラムでアプリケーション定義またはエンドポイントをコピーする場合、Visual Studio はこれらの設定を含めてコピーします。アプリケーションを実装すると、設定がアプリケーションの構成ファイルにクリア テキストとして (暗号化されずに) 書き込まれます。これらの設定がアプリケーションの構成ファイルに書き込まれると、Visual Studio からセキュリティ警告が表示されます。
アプリケーション定義またはエンドポイントをカスタム プロトタイプに含めると、Visual Studio では設定が保存されます。アプリケーションを実装すると、設定はアプリケーションの構成ファイルにクリア テキストとして (暗号化せずに) 表示されます。アプリケーションの構成ファイルに設定が書き込まれると、Visual Studio にセキュリティ警告が表示されます。したがって、これらのファイルを配布する際は、あらかじめこの点を考慮し、機密を要するデータや所有権を有するデータなど、重要なデータを保存しないでください。そうでない場合は、暗号化を行うことを検討します。詳細については、「方法 : 構成済みのアプリケーションとエンドポイントからカスタム プロトタイプを作成する」を参照してください。
Visual Studio では、設定はアプリケーション定義 (.sdm) ファイルまたはアプリケーション ダイアグラム (.ad) ファイルに保存されません。詳細については、「システム定義モデル (SDM) の概要」を参照してください。
Visual Studio では、これらの設定はユーザー定義の制約の設定は使用できません。詳細については、「アプリケーションとアプリケーション ホスト関係に対する制約」を参照してください。
実装前の考慮事項
アプリケーションの実装を行う前に、次の考慮事項に注意してください。
実装するアプリケーションに接続します。これにより、Visual Studio が、必要とするすべての Web サービス クライアント プロキシ クラスを正しく生成できるようになります。
[言語]、[プロジェクト]、[プロジェクトの場所の種類]、[テンプレート]、および [ターゲット フレームワーク] プロパティに必要な値が設定されていることを確認します。実装後、これらのプロパティを変更することはできません。詳細については、「実装後の考慮事項」を参照してください。
メモ :
場合によっては、実装前に、アプリケーション ダイアグラムのコピーを作成または保存する必要があります。
詳細については、次のトピックを参照してください。
Visual Studio は、Office アプリケーションの [Office バージョン] 設定を、アプリケーションの実装時に "テンプレート" プロパティに指定されていたバージョンに更新します。
アプリケーションを実装する前にプロジェクト名を指定します。実装後でも、ソリューション エクスプローラで Windows プロジェクトまたは Office プロジェクトの名前を変更できます。ただし、プロジェクト名を変更しても、アセンブリ名やディスク上のプロジェクト フォルダ名は変更されません。たとえば、Windows プロジェクトの名前を "MyGeneratedName" から "MyRenamedProject" に変更しても、Visual Studio はそのプロジェクトを "MyRenamedProject.exe" ではなく "MyGeneratedName.exe" としてコンパイルします。このとき、ディスク上のプロジェクト フォルダ名も "MyGeneratedName" のままになります。
Windows アプリケーションおよび Office アプリケーションでは、プロジェクト名を使用してプロジェクトの場所を設定しないでください。アプリケーションの実装後に、Windows エクスプローラを使用してプロジェクトの場所を変更できます。
アプリケーション定義の名前では大文字と小文字が区別されますが、プロジェクト名では区別されません。
Visual Studio では、名前の大文字と小文字だけが異なる同じ種類のアプリケーションを複数実装しても、"重複した" アプリケーションは実装されません。
このような状況を避けるには、重複した名前を変更してから実装を行います。
詳細については、「方法 : アプリケーション ダイアグラムでアプリケーションの名前を変更する」を参照してください。
IIS を使用して実行する ASP.NET アプリケーションをローカル サーバーまたはリモート サーバー上に実装する場合は、そのサーバーに対する管理者アクセス許可が必要です。それがない場合、Visual Studio はアプリケーションを実装できません。
Visual Studio を Windows Vista で実行している場合は、Visual Studio を管理者として実行すると、これらのアプリケーションをローカル サーバー上に実装できます。
詳細については、「実装のトラブルシューティング」を参照してください。
以前に実装されて削除されたが、プロジェクトがまだディスク上に存在しているアプリケーションと同じ名前および場所を持つ "重複した" ASP.NET アプリケーションを実装すると、競合が発生します。
実装時に競合が発生しないようにするには、"重複した" アプリケーションの名前を変更してから実装を行います。それ以外の場合は、「実装のトラブルシューティング」を参照してください。
ディスク上のプロジェクトとそのフォルダの名前が必ず一意になるようにしてください。ソリューション エクスプローラで、仮にこれらのプロジェクトに異なる名前が付いていたり、ディスク上のフォルダに異なる親フォルダが存在していたとしても、それだけでは不十分です。
配置レポートを生成する準備が整ったら、Visual Studio がディレクトリを作成して出力ファイルをコピーする場所を指定できます。ただし、Visual Studio は、このディレクトリにプロジェクトの親フォルダを含めません。したがって、ディスク上で同じフォルダ名となるような複数のプロジェクトがソリューションに含まれている場合、親フォルダが異なっていたとしても、同じ名前のプロジェクトに対して Visual Studio が作成するディレクトリは 1 つになります。この場合、Visual Studio がこのディレクトリに出力ファイルをコピーするときに、他のプロジェクトの出力ファイルが上書きされる可能性があります。詳細については、「配置出力ファイルの場所とディレクトリ構造」を参照してください。
実装のトラブルシューティング
アプリケーションの実装時に、次の問題が発生する場合があります。
ローカル サーバーまたはリモート サーバー上で IIS を使用して実行するように設定された ASP.NET アプリケーションを、Visual Studio で実装することができません。
IIS を使用して実行する ASP.NET アプリケーションをローカル サーバーまたはリモート サーバー上に実装するには、そのサーバーに対する管理者アクセス許可が必要です。
Visual Studio を Windows Vista で実行している場合は、Visual Studio を管理者として実行すると、これらのアプリケーションをローカル サーバー上に実装できます。
詳細については、「方法 : ASP.NET アプリケーションの Web サイトの種類を選択する」をクリックしてください。
Visual Studio でアプリケーションのプロジェクト ファイルを生成できません。
この問題は、アプリケーションが互換性のないカスタム プロジェクト テンプレートに設定されている場合に発生することがあります。アプリケーション デザイナは、Windows、Office、Web サイト、および ASP.NET Web アプリケーションの各プロジェクトから作成されるカスタム プロジェクト テンプレートのみをサポートしています。
この問題を解決するには、標準のプロジェクト テンプレートまたは別のカスタム プロジェクト テンプレートを選択します。
この問題は、アプリケーションがカスタム プロジェクト テンプレートを含む .zip ファイルに設定されている場合にも発生することがあります。
この問題を解決するには、カスタム テンプレートを選択する前に .zip ファイルを解凍します。
詳細については、「Visual Studio テンプレート」および「アプリケーション ダイアグラムでのアプリケーションのプロジェクト テンプレート」を参照してください。
以前に実装されて削除されたが、プロジェクトがまだディスク上に存在しているアプリケーションと同じ名前および場所を持つ ASP.NET アプリケーションを実装すると、競合が発生します。
この競合を解決するには、次のいずれかの処理を行ってください。
プロジェクトを別の場所に作成します。
既存のプロジェクトを開き、ソリューションの後ろに追加します。
既存のプロジェクトを上書きします。
この競合を避けるには、アプリケーションの名前を変更してから実装を行います。
実装後の考慮事項
アプリケーションの実装後、次の考慮事項に注意してください。
アプリケーション定義の名前を変更しても関連プロジェクトのルート名は変わりません。ただし、システム定義モデル (SDM: System Definition Model) ドキュメント ファイルやクラス ファイルなどのプロジェクト ファイルは、Visual Studio によって、アプリケーション定義に加えられた変更と同期が保たれます。詳細については、「アプリケーション デザイナの概要」を参照してください。
アプリケーションの実装後、ASP.NET アプリケーション、Windows アプリケーション、または Office アプリケーションの [ターゲット フレームワーク] プロパティは、[プロパティ] ウィンドウで読み取り専用の空のプロパティとして表示されます。実装後、プロジェクトのプロパティで、アプリケーション プロジェクトに対応する .NET Framework のバージョンを表示したり変更したりできます。
メモ :
プロジェクトのプロパティでターゲット フレームワークのバージョンを変更するときは、特定の考慮事項に注意してください。詳細については、「方法 : アプリケーション用の .NET Framework のバージョンを選択する」を参照してください。
Office アプリケーションの [Office バージョン] 設定には、アプリケーションの実装時に [テンプレート] プロパティに指定されていたバージョンが反映されます。この設定は変更できますが、アプリケーション設定にはアプリケーション構成を反映させることが一般的です。アプリケーションを配置用に評価すると、Visual Studio は、論理サーバーの設定に対してアプリケーションの設定を検証します。これらの設定が [テンプレート] プロパティに設定されたバージョンと一致しなくても、検証の警告は表示されません。詳細については、「設定の適用」を参照してください。
参照
処理手順
方法 : アプリケーション ダイアグラムでアプリケーションを実装する