MSBuild エラー MSB3190

 

発行: 2016年4月

MSB3190: ClickOnce では、要求の実行レベル '<level>' はサポートされていません。

このエラーは、Windows Vista を実行しているコンピューターで、アプリケーションの埋め込みユーザー アカウント制御 (UAC: User Account Control) マニフェストに、管理資格情報を使用して ClickOnce アプリケーションを実行するように指定している場合に生成されます。  ClickOnce および登録を必要としない COM には、アプリケーションを現在のユーザーとして実行するように指定した外部マニフェストが必要です。  

ClickOnce では、requireAdministrator または highestAvailable の実行レベルは使用できません。  これらのレベルのいずれかを指定すると、このエラーが返されます。  ClickOnce では asInvoker を使用する必要がありますが、<requestedExecutionLevel> ノードを記述しない場合にも対応しています。これにより、ファイルとレジストリの仮想化が指定されます。これはマニフェストを生成しない場合に該当し、下位互換性のために用意されている動作です。  

注意

次の手順で参照している Visual Studio ユーザー インターフェイス要素の一部は、お使いのコンピューターでは名前や場所が異なる場合があります。  これらの要素は、使用する Visual Studio のエディションとその設定によって決まります。  詳細については、「Customizing Development Settings in Visual Studio」を参照してください。  

このエラーを解決するには

  • アプリケーションを現在のユーザー (asInvoker) として実行するように指定した外部 UAC マニフェスト (アプリケーション マニフェスト) を生成します。

    Visual C# プロジェクトでは、プロジェクト デザイナーの [アプリケーション] ページに移動し、[マニフェスト] の一覧の [Properties\app.manifest] をクリックします。  詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (C#)」を参照してください。  

    Visual Basic プロジェクトでは、プロジェクト デザイナーの [アプリケーション] ページに移動し、[UAC 設定の表示] ボタンをクリックします。  アプリケーション マニフェストが編集用に開きます。  マニフェストの次のタグを以下のように編集します。  

    <requestedExecutionLevel level="asInvoker" />
    

    詳細については、「[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)」を参照してください。

  • UAC マニフェストを生成する方法および実行レベルを指定する方法の詳細については、「Windows Vista の ClickOnce 配置」を参照してください。

参照

[アプリケーション] ページ (プロジェクト デザイナー) (C#)
[アプリケーション] ページ (プロジェクト デザイナー) (Visual Basic)
Windows Vista の ClickOnce 配置