VS2017 / VS 2019 เรียกใช้ในฐานะผู้ดูแลระบบจากแถบงาน


99

ฉันต้องการเรียกใช้ Visual Studio 2017/2019 ในฐานะผู้ดูแลระบบเมื่อฉันเลือกโครงการจากรายการล่าสุดในแถบงานเช่น เมื่อเปิดโครงการผ่านทางลัด Explorer / Shell

ฉันใช้การตั้งค่า: คุณสมบัติ -> ทางลัด -> ขั้นสูง -> ช่องทำเครื่องหมายเรียกใช้ในฐานะผู้ดูแลระบบ

ขออภัยสิ่งนี้ไม่ส่งผลให้ devenv ทำงานในฐานะผู้ดูแลระบบ

มีแนวคิดในการแก้ไขปัญหานี้อย่างไร

คำตอบ:


263
  1. ปิดอินสแตนซ์ทั้งหมดของ Visual Studio
  2. คลิกขวาที่ไอคอน Visual Studio 2017/2019 ในแถบงานของคุณ
  3. คลิกขวาที่ Visual Studio 2017/2019 แล้วคลิก Properties
  4. คลิกปุ่มเปิดตำแหน่งไฟล์
  5. คลิกขวาที่ไฟล์ devenv.exe ในโฟลเดอร์นั้นจะปรากฏขึ้น
  6. เลือกแก้ไขปัญหาความเข้ากันได้
  7. เลือกแก้ไขปัญหาโปรแกรม
  8. เลือกโปรแกรมต้องการการอนุญาตเพิ่มเติม
  9. คลิกทดสอบโปรแกรมและรอให้โปรแกรมเปิดใช้งาน
  10. จากนั้นคลิกปุ่มถัดไป
  11. เลือกใช่บันทึกการตั้งค่าเหล่านี้สำหรับโปรแกรมนี้
  12. คลิกปิด
  13. เปิดโครงการของคุณอีกครั้งจากรายการล่าสุด

4
นี่เป็นโซลูชันเดียวกันสำหรับ Visual Studio เวอร์ชันก่อนหน้าทั้งหมดนับตั้งแต่มีการแนะนำตัวเลือกเวอร์ชันเทียบกับเวอร์ชัน ใครก็ตามที่ลงคะแนนอาจทำให้เป็นเรื่องส่วนตัวหรือปฏิเสธที่จะยอมรับสภาพที่เป็นอยู่ ขอบคุณสำหรับการยืนยันว่าวิธีนี้ยังใช้งานได้ฉันแค่ต้องตรวจสอบก่อนลอง :)
Shaun Wilson

6
คุณคิดว่า MS จะมีการตั้งค่า vs - 'ทำงานในฐานะผู้ดูแลระบบเสมอ' - เนื่องจากการพัฒนาที่ไม่สำคัญใด ๆ ต้องการ
pm100

1
@ pm100 ก็มี VSCommands VS Addin ที่มีการตั้งค่านี้ แต่ฉันยอมรับว่าลักษณะของการพัฒนาเว็บและการสนับสนุน IIS ภายใน VS ควรให้สิ่งนี้ในตัวหากมีการใช้ IIS สำหรับโซลูชันคุณต้องมีสิทธิ์ของผู้ดูแลระบบ VS ควรตรวจพบโดยอัตโนมัติและเปิดการร้องขอสำหรับพวกเขาอีกครั้ง
Robert Koritnik

เพียงแค่ FYI: สิ่งนี้ทำให้ VS ขอให้ทำงานในฐานะผู้ดูแลระบบทุกครั้งที่เปิดตัว
Jeff B

1
ฉันสะดุดกับสิ่งนี้เมื่อใดก็ตามที่ฉันต้องการติดตั้ง VS เวอร์ชันใหม่ ... ตอนนี้ในปี 2019 โซลูชันเดียวกันยังคงใช้งานได้
moi_meme

16

ผลของขั้นตอนในคำตอบของสตีฟคือการเพิ่มค่ารีจิสทรีเดียว คุณสามารถหลีกเลี่ยงขั้นตอนเหล่านั้นได้เพียงแค่เพิ่มค่ารีจิสทรีนั้นผ่านทางบรรทัดคำสั่ง ด้วยเหตุผลบางอย่างฉันพบว่าใช้เวลาสักครู่จึงจะมีผล แต่การออกจากระบบ / การเข้าสู่ระบบควรทำให้มีผลทันที

ด้วยเหตุผลแปลก ๆ ฉันพบว่าในกรณีของฉัน Windows ไม่ได้ตรวจสอบ HKLM แค่มองไปที่ HKCU ก็เลยตั้งทั้งสองอย่าง แต่สำหรับผู้ใช้รายอื่นที่เข้าสู่ระบบ HKLM ควรมีประโยชน์

รวมอยู่ด้วยคือการตั้งค่าเดียวกันสำหรับ VSLauncher.exe ซึ่งช่วยแก้ปัญหาอื่น ๆ

สิ่งนี้จะดูแลทั้ง VS2017 และ 2019 หากคุณติดตั้งเพียงเส้นเดียวให้ลบบรรทัดสำหรับอีกเส้นหนึ่ง

นอกจากนี้หากคุณเปลี่ยนโฟลเดอร์ที่ติดตั้ง VS ให้เปลี่ยนเส้นทางไปdevenv.exeหรือเพียงแค่ใช้คำตอบของสตีฟเพื่อทำในทางอื่น

ในพรอมต์คำสั่งของผู้ดูแลระบบ:

reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\devenv.exe" /d "^ RUNASADMIN"
reg.exe Add "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "C:\Program Files (x86)\Common Files\Microsoft Shared\MSEnv\VSLauncher.exe" /d "^ RUNASADMIN"

หรือหากคุณต้องการไฟล์. reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\Common7\\IDE\\devenv.exe"="^ RUNASADMIN"
"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\MSEnv\\VSLauncher.exe"="^ RUNASADMIN"

แม้ว่าสิ่งนี้อาจมีประโยชน์ แต่ก็จะไม่ทำงาน (คัดลอกและวาง) สำหรับผู้ที่ติดตั้งแอปนี้ไว้ที่อื่น VS เวอร์ชันอนาคต - หรือแอปพลิเคชันอื่น ๆ ที่ต้องการใช้งานในลักษณะเดียวกัน
Anthony Nichols

1
เมื่อฉันเขียนชื่อคำถามนี้โดยเฉพาะกล่าวเฉพาะ VS2017 :) เนื่องจากมีการเปลี่ยนแปลงฉันได้เพิ่มบรรทัดเพื่อดูแลปี 2019 และบันทึกเกี่ยวกับเรื่องนี้
Gabriel Luci

1
การแก้ไข Registry ไม่ใช่สำหรับทุกคน คุณต้องระวังให้มากมิฉะนั้นระบบปฏิบัติการทั้งหมดของคุณจะล่ม ดังนั้นฉันจะโหวตและแนะนำคำตอบของสตีฟว่าเป็นทางออกที่ปลอดภัยที่สุดที่คุณมี! อีกครั้งนั่นคือความคิดของฉัน!
Vincy

@Vincy แน่นอน แต่มีโอกาสถ้าคุณใช้ Visual Studio คุณรู้อะไรเกี่ยวกับ Windows และไม่กลัวที่จะแก้ไขรีจิสทรีโดยตรง ไม่ยากที่จะค้นหาว่าคีย์รีจิสทรีบางตัวมีไว้เพื่ออะไร
Gabriel Luci
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.