方法 : 部分信頼アプリケーションをデバッグする
Windows アプリケーションとコンソール アプリケーションに適用されます。
ClickOnce のセキュリティと配置 を使用すると、コード アクセス セキュリティ を利用してコンピューター上のリソースへのアクセスを制限する部分信頼アプリケーションを簡単に配置できます。
部分信頼アプリケーションのデバッグ作業は難しい場合があります。これは、部分的に信頼されたアプリケーションはインストール元によってセキュリティ アクセス許可が異なり、その結果として異なる動作をするためです。 インターネットからインストールした場合、部分信頼アプリケーションのアクセス許可は非常に制限されます。 また、ローカル イントラネットからインストールした場合はより多くのアクセス許可を持ち、ローカル コンピューターからインストールした場合はフル アクセス許可を持ちます (カスタム アクセス許可を持つカスタム ゾーンを使用することもできます)。 場合によっては、これらのすべての条件または一部を満たして部分信頼アプリケーションをデバッグする必要があります。 Visual Studio では、これを簡単に行うことができます。
Visual Studio でデバッグ セッションを開始する前に、アプリケーションのインストール元をシミュレートするゾーンを選択できます。 デバッグを開始すると、アプリケーションは、そのゾーンからインストールされた部分信頼アプリケーションに適したアクセス許可を持ちます。 これによって、そのゾーンからアプリケーションをダウンロードするユーザーに対するアプリケーションの動作を確認できます。
アクセス許可を持たないアクションをアプリケーションが実行すると、例外が発生します。 その場合、Exception Assistant を使用してアクセス許可を追加すると、問題を回避するための十分なアクセス許可を使用してデバッグ セッションを再開できます。
デバッグ時に追加したアクセス許可は、後で確認できます。 デバッグ時にアクセス許可を追加する必要があった場合は、コードのその位置にユーザーの同意を求めるプロンプトを追加する必要があります。
注意
デバッガー ビジュアライザーでは、部分信頼アプリケーションが許可する以上の特権が必要です。部分信頼コードで動作が停止した場合、ビジュアライザーは読み込まれません。ビジュアライザーを使用してデバッグするには、完全信頼コードを実行する必要があります。
部分的に信頼されたアプリケーションのゾーンを選択するには
[プロジェクト] メニューの [Projectname プロパティ] をクリックします。
[Projectname プロパティ] ページで、[セキュリティ] ページをクリックします。
[ClickOnce セキュリティ設定を有効にする] をクリックします。
[アプリケーションがインストールされるゾーン] で、リスト ボックスの矢印をクリックし、アプリケーションのインストール元をシミュレートするゾーンを選択します。
[アプリケーションで必要なアクセス許可] グリッドに、使用できるすべてのアクセス許可が表示されます。 チェック マークは、アプリケーションに与えられているアクセス許可を示します。
[(カスタム)] ゾーンを選択したときは、正しいカスタム設定を [アクセス許可] グリッドの [設定] 列で選択します。
[OK] をクリックして、プロパティ ページを閉じます。
セキュリティ例外の発生時にアクセス許可を追加するには
[例外処理アシスタント] ダイアログ ボックスが表示され、メッセージ "SecurityException はハンドルされませんでした" が表示されます。
[例外処理アシスタント] ダイアログ ボックスの [アクション] で、[プロジェクトにアクセス許可を追加] をクリックします。
[デバッグの再開] ダイアログ ボックスが表示されます。
新しいアクセス許可を使用してデバッグ セッションを再開するには、[はい] をクリックします。
再開しない場合は、[いいえ] をクリックします。
デバッグ時に追加したアクセス許可を表示するには
[プロジェクト] メニューの [Projectname プロパティ] をクリックします。
[Projectname プロパティ] ページで、[セキュリティ] ページをクリックします。
[アプリケーションで必要なアクセス許可] グリッドを参照します。 追加したアクセス許可の [含まれるアクセス許可] 列には 2 つのアイコンがあります。通常のチェック マークは、アプリケーションが持つすべてのアクセス許可に表示されます。もう 1 つはバルーンのアイコンで "i" の文字が付いています。
[アプリケーションで必要なアクセス許可] グリッド全体を表示するには、垂直スクロール バーを使用します。