Visual Studioを使用してデバッグでアプリケーションを管理者として実行するにはどうすればよいですか?


90

Cドライブのルートへの読み取り/書き込みアクセスが必要なC#アプリケーションがあります。私はコードをコンパイルして実行可能ファイルを管理者として実行できることを理解しています。しかし、私はそれをデバッグする必要があり、Visual Studio内でアプリをどのように起動するのかわかりません。

追加しようとしました:

<requestedExecutionLevel level="asInvoker" uiAccess="true" />

マニフェストにアクセスしても、アクセス拒否エラーが表示されます。

失敗するコード行は次のとおりです。

MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);

今のところ回避策はありますが、将来について知りたいです。


3
管理者としてVSを実行すると、デバッグしているものはすべて管理者としても実行されます。
JMK

次の修正をお勧めします。そうしないと、固定ソリューションの実行に問題が発生します
JonnyRaa

私の場合、互換性に移動し、Windows XP(Service Pack 3)で実行を選択する必要がありました。管理者としてIDEを実行しても効果はありませんでした。
ウェンディ

回答:


126

Visual Studio自体を管理者として実行するだけです。そこからデバッグするプログラムもすべて管理者として実行されます。


13
さらに、Visual Studioのショートカットを[プロパティ]ページから管理者として実行するように設定します
Panagiotis Kanavos

19
@PanagiotisKanavos個人的には、特別な理由がない限り、管理者としての実行を避けたい
サム私は、モニカを

1
はい。管理者を必要とするいくつかのプログラムがあります。そして、一度実行すると、VSは管理者モードでVSを再起動するように求めます。私はそれがどうなっているのかわかりません。level = "requireAdministrator"を設定するだけです。ただし、自動的に再起動しない場合もあります
Jayson Ragasa

@SamIam:Webアプリをデプロイした後、どのような設定が必要ですか...?
Ghanshyam Lakhani 2017

1
受け入れられているにもかかわらず、これ正しい解決策ではありません。必要な場合を除いて、プログラムを実行したり、VSを管理者として実行したりすることはありません。元の質問は、OPではなく、VSが作成するプログラムに関するものでした。正解は、開発中のプログラムに管理者権限が必要であることを指定することです。
ガーボル

65

VSは管理者権限で実行する必要があります。ただし、よりエレガントな方法は、マニフェストのrequiredExecutionLevelを「requireAdministrator」に設定する必要があります。

<requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />

プロジェクトを開いてデバッグしようとすると、VS2012は管理者権限について警告し、管理者権限で再起動します。また、exeファイルは最初から管理者権限を必要とするものとしてマークされているため、展開するときにファイルのプロパティで管理者権限の要件を構成する必要はありません。


1
また、プロジェクトの[セキュリティ]タブで[ClickOnceを有効にする...]がオフになっていることを確認してください。オフにすると、管理者が必要とするコードを実行しようとすると、セキュリティ警告が表示されます。(その設定は、ある時点でアプリの[公開]をクリックした場合にチェックされます)。
モンティ

1
注意事項-マニフェストがない場合は、単に追加してください。なんとなく存在しないのではないかと気づきました。
Mołot

12

この管理者オプションを自動的に設定することもできます。

ここに画像の説明を入力してください


1
コンテキストメニューの[プロパティ]エントリを強調表示するつもりですが、誰もがあなたが話していることを知っています。
アーロンキャンベル、

より簡単な方法はCompatibility > Run As Administratorです。
AStopher 16

1
これは非常に悪い考えです。Visual Studioを常に管理者として実行する必要はありません。
ジャマー2017

1
このスクリーンショットは完全に理解不能であり、適切な解決策であるかどうかにかかわらず、付随する説明はありません。
MickeyfAgain_BeforeExitOfSO 2018

7

タイトルの質問に答えるには、VSの起動時にコンテキストメニューから[管理者として実行]を選択するだけです。


4

チェックした答えが機能しなくなります。

このオプションは、プロジェクトのプロパティリンカー -> マニフェストファイル -> UAC実行レベルにあります。これをrequireAdminstratorに設定します

これにより、デフォルトで生成されたマニフェストに必要なrequestedExecutionlevelが含まれるようになるため、まだ昇格されていない場合、ユーザーは特権を昇格するように自動的に要求されます。


1

「このタスクは上昇権限を持っているアプリケーションが必要です」のエラーは、Visual Studioを開くための十分な権限を持っていなかったため、現在のユーザーのために発生します。

一時的な解決策として

この問題を解決するには、Visual Studioを右クリックして、開くたびに管理者として実行を選択します。

恒久的な解決策として

互換性のトラブルシューティングを確認できます

  • 右、[Visual Studio]をクリックし、[互換性のトラブルシューティング]を選択します。
  • [プログラムのトラブルシューティング]を選択します。
  • プログラムに追加の権限が必要であることを確認してください。
  • [プログラムのテスト]をクリックします。
  • プログラムが起動するまでしばらく待ちます。次へをクリックします。
  • [はい、このプログラムの設定を保存します]を選択します。

画像の詳細な手順については、Visual Studioがアプリケーションに昇格されたアクセス許可を必要とすることを確認してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.