Bagaimana cara menjalankan aplikasi sebagai administrator di debug dengan Visual Studio?

90

Saya memiliki aplikasi ac # di mana saya harus memiliki akses baca / tulis ke root drive C. Saya menyadari saya dapat mengkompilasi kode dan menjalankan executable sebagai administrator dan berhasil. Tetapi saya perlu men-debugnya dan saya tidak yakin bagaimana seseorang akan memulai aplikasi dalam Visual Studio.

Saya telah mencoba menambahkan:

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

ke manifes saya tetapi saya masih mendapatkan kesalahan akses ditolak.

Berikut adalah baris kode yang gagal:

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

Untuk saat ini saya memiliki pekerjaan tetapi saya ingin tahu untuk masa depan.

carny666
sumber
3
Jika Anda menjalankan VS sebagai administrator, apa pun yang Anda debug akan dijalankan sebagai admin juga.
JMK
Saya akan merekomendasikan perbaikan berikut jika tidak Anda memiliki masalah dalam menjalankan solusi yang disematkan
JonnyRaa
Dalam kasus saya, saya harus pergi ke Compatability dan pilih run in Windows XP (Service Pack 3). Menjalankan IDE sebagai administrator tidak membantu.
Wendy

Jawaban:

128

Jalankan saja studio visual itu sendiri sebagai administrator. Program apa pun yang Anda debug dari sana juga akan dijalankan sebagai administrator.

Sam, saya mengatakan Reinstate Monica
sumber
13
Lebih baik lagi, atur pintasan Visual Studio untuk dijalankan sebagai administrator dari halaman Properti-nya
Panagiotis Kanavos
20
@PanagiotisKanavos Saya pribadi suka menghindari menjalankan hal-hal sebagai administrator kecuali saya memiliki alasan khusus untuk melakukannya
Sam Saya mengatakan Reinstate Monica
1
Iya. Ada beberapa program yang membutuhkan administrator. Dan sekali, saya menjalankannya, VS meminta untuk me-restart VS dalam mode administrator. Saya tidak yakin bagaimana itu bisa terjadi. Saya baru saja mengatur level = "requireAdministrator". Tapi terkadang, tidak otomatis restart
Jayson Ragasa
@ SamIam: dan setelah menerapkan aplikasi web, jenis pengaturan apa yang diperlukan ...?
Ghanshyam Lakhani
1
Meski diterima, ini bukanlah solusi yang tepat. Anda tidak menjalankan program, baik VS maupun apa pun sebagai admin kecuali jika diperlukan. Pertanyaan awal adalah tentang program yang ditulis OP, bukan VS. Jawaban yang benar adalah dengan menentukan bahwa program yang sedang dikembangkan memerlukan hak istimewa admin.
Gábor
65

VS harus dijalankan dengan hak admin. namun, cara yang lebih elegan adalah di requiredExecutionLevel dalam manifes harus disetel ke 'requireAdministrator'.

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

Saat Anda membuka proyek dan mencoba men-debug, VS2012 akan memperingatkan tentang hak admin dan memulai ulang sendiri ke hak admin. Dan juga file exe akan ditandai sebagai membutuhkan admin sejak awal sehingga saat menerapkan Anda tidak perlu mengonfigurasi persyaratan hak admin di properti file.

Supawat Pusavanno
sumber
1
Pastikan juga bahwa di bawah tab Keamanan proyek Anda, "Aktifkan ClickOnce ..." tidak dicentang, jika tidak, Anda akan mendapatkan peringatan keamanan saat mencoba menjalankan kode yang diperlukan admin. (pengaturan itu akan diperiksa jika Anda sudah mengklik 'Publikasikan' di aplikasi Anda di beberapa titik).
monty
1
Hanya catatan - jika tidak ada manifes, cukup tambahkan satu. Entah bagaimana saya gagal untuk menyadarinya mungkin tidak ada.
Mołot
12

Anda juga dapat menyetel opsi administrator ini secara otomatis:

masukkan deskripsi gambar di sini

Bura Chuhadar
sumber
1
Saya rasa Anda bermaksud untuk menyorot entri "Properti" di menu konteks, tetapi semua orang tahu apa yang Anda bicarakan.
Aaron Campbell
Cara yang lebih mudah adalah Compatibility > Run As Administrator.
AStopher
1
Ini adalah ide yang sangat buruk. Anda benar-benar tidak ingin Visual Studio berjalan sebagai administrator terus-menerus.
Jammer
1
Tangkapan layar ini sama sekali tidak dapat dipahami, dan tidak memiliki penjelasan yang menyertai, Terlepas dari apakah itu solusi yang baik atau tidak.
MickeyfAgain_BeforeExitOfSO
7

Untuk menjawab pertanyaan dalam judul Anda, Anda cukup memilih Run as Administrator dari menu konteks saat memulai VS.

Josh
sumber
4

Sekarang jawaban yang dicentang tidak akan berfungsi.

Anda harus menemukan opsi untuk ini di properti proyek Linker -> Manifest File -> UAC Execution Level . Setel ini ke requireAdminstrator .

Ini akan menyebabkan manifes yang dibuat default menyertakan tingkat eksekusi yang diminta yang Anda perlukan, sehingga pengguna Anda akan diminta secara otomatis untuk meningkatkan hak istimewanya jika mereka belum dinaikkan.

JunJie Wang
sumber
1

The "Tugas ini membutuhkan aplikasi untuk memiliki izin ditinggikan" kesalahan terjadi karena Pengguna saat tidak memiliki hak istimewa yang cukup untuk membuka Visual Studio.

Sebagai solusi sementara

Anda dapat mengatasi masalah ini dengan mengklik kanan pada visual studio dan pilih run as administrator setiap kali Anda ingin membukanya

Sebagai solusi permanen ,

Anda dapat memeriksa pemecahan masalah kompatibilitas

  • Kanan, Klik Visual Studio> pilih Troubleshoot kompatibilitas.
  • Pilih Troubleshoot Program.
  • Periksa Program ini membutuhkan izin tambahan.
  • Klik Uji program.
  • Tunggu beberapa saat hingga program diluncurkan. Klik Next.
  • Pilih Ya, simpan pengaturan ini untuk program ini.

Untuk langkah-langkah detail dengan gambar, silakan periksa Visual Studio memerlukan aplikasi untuk memiliki izin yang lebih tinggi

Mohamed
sumber