アクセス許可表示ツール (Permview.exe)
更新 : 2007 年 11 月
アクセス許可表示ツールは、アセンブリによって要求された、最小のアクセス許可セット、オプションのアクセス許可セット、および拒否されたアクセス許可セットの表示に使用します。Permview.exe を使用して、アセンブリによって使用されるすべての宣言セキュリティを表示することもできます。Permview.exe is available only in the .NET Framework versions 1.0 and 1.1.
permview [/output filename] [/decl] manifestfile
パラメータ
引数 |
説明 |
---|---|
manifestfile |
アセンブリのマニフェストを含むファイル。マニフェストとして、スタンドアロンのファイル、またはポータブル実行可能 (PE) ファイル内に取り込んだファイルを指定できます。通常、このファイルの拡張子は .exe または .dll ですが、.scr または .ocx になることもあります。 |
オプション |
説明 |
---|---|
/decl |
manifestfile で指定したアセンブリに関する、アセンブリ レベル、クラス レベル、およびメソッド レベルでのすべての宣言セキュリティを表示します。その中には、アクセス許可要求、確認要求、アサートの他、宣言で適用できるその他すべてのセキュリティ アクションが含まれます。指定したアセンブリとリンクしている他のアセンブリは参照されません。 |
/h[elp] |
このツールのコマンド構文とオプションを表示します。 |
/output filename |
指定したファイルに出力を書き込みます。既定では、出力がコンソールに表示されます。 |
/? |
このツールのコマンド構文とオプションを表示します。 |
解説
開発者は、Permview.exe を使用して、作成したコードに対してアクセス許可要求を正しく適用したかどうかを検査できます。また、ユーザーは、Permview.exe を実行して、アセンブリが動作するために必要なアクセス許可を確認できます。たとえば、マネージ実行可能ファイルを実行して "System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。" というエラーが発生した場合は、Permview.exe を使用して、実行可能ファイルに含まれるコードを実行する前に得る必要のあるアクセス許可を確認できます。
例
アセンブリ myAssembly.exe によって要求されたアクセス許可をコンソールに表示するコマンドを次に示します。
permview myAssembly.exe
myAssembly.exe が FullTrust に対する最小要求を含んでいる場合には、次の出力が表示されます。
Microsoft (R) .NET Framework Permission Request Viewer. Version 1.0.2204.18 Copyright (C) Microsoft Corp. 1998-2000
minimal permission set:
<PermissionSet class="System.Security.PermissionSet" version ="1">
<Unrestricted/>
</PermissionSet>
optional permission set:
Not specified
refused permission set:
Not specified
アセンブリ myAssembly.exe に関するすべての宣言セキュリティをコンソールに表示するコマンドを次に示します。このコマンドを実行すると、メソッド レベルのセキュリティ確認要求が表示されます。
permview /decl myAssembly.exe
次のような出力が表示されます。
Microsoft (R) .NET Framework Permission Request Viewer.
Version 1.0.2204.18 Copyright (C) Microsoft Corp. 1998-2000
Assembly RequestMinimum permission set:
<PermissionSet class="System.Security.PermissionSet" version ="1">
<Unrestricted/>
</PermissionSet>
Method A::myMethod() LinktimeCheck permission set:
<PermissionSet class="System.Security.PermissionSet" version="1">
<Permission class="System.Security.Permissions.ReflectionPermission,
mscorlib, Ver=1.0.2204.2, Loc='', SN=03689116d3a4ae33"
version="1">
<MemberAccess/>
</Permission>
</PermissionSet>
アセンブリ myAssembly.exe によって要求されたアクセス許可をファイル myOutputFile に書き込むコマンドを次に示します。
permview /output myOutputFile myAssembly.exe