Làm thế nào để chạy ứng dụng với tư cách quản trị viên trong gỡ lỗi với Visual Studio?


90

Tôi có ứng dụng ac # mà tôi phải có quyền truy cập đọc / ghi vào thư mục gốc của ổ C. Tôi nhận ra rằng tôi có thể biên dịch mã và chạy tệp thực thi với tư cách quản trị viên và nó hoạt động. Nhưng tôi cần gỡ lỗi nó và tôi không chắc về cách khởi động ứng dụng trong Visual Studio.

Tôi đã thử thêm:

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

vào tệp kê khai của tôi nhưng tôi vẫn gặp lỗi bị từ chối truy cập.

Đây là dòng mã bị lỗi:

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

Hiện tại, tôi có một công việc nhưng tôi muốn biết về tương lai.


3
Nếu bạn chạy VS với tư cách quản trị viên, mọi thứ bạn đang gỡ lỗi cũng sẽ chạy với tư cách quản trị viên.
JMK

Tôi khuyên bạn nên sửa lỗi sau nếu không bạn gặp sự cố khi chạy các giải pháp được ghim
JonnyRaa

Trong trường hợp của tôi, tôi phải đi tới Khả năng tương thích và chọn chạy trong Windows XP (Gói dịch vụ 3). Chạy IDE với tư cách quản trị viên không giúp được gì.
Wendy

Câu trả lời:


126

Chỉ cần điều hành Visual Studio với tư cách là quản trị viên. Bất kỳ chương trình nào bạn gỡ lỗi từ đó cũng sẽ được chạy với tư cách quản trị viên.


13
Hơn thế nữa, thiết lập Visual Studio phím tắt để chạy as administrator từ trang Properties của nó
Panagiotis Kanavos

19
@PanagiotisKanavos cá nhân tôi như để tránh chạy thứ as administrator trừ khi tôi có một lý do cụ thể để làm như vậy
nói Khôi phục Monica Sam tôi sáng

1
Đúng. Có một số chương trình yêu cầu quản trị viên. Và một khi tôi chạy nó, VS yêu cầu khởi động lại VS ở chế độ quản trị viên. Tôi không chắc điều đó xảy ra như thế nào. Tôi vừa đặt mức = "requestAdministrator". Nhưng đôi khi, nó không tự động khởi động lại
Jayson Ragasa

@SamIam: và sau khi triển khai ứng dụng web, loại cài đặt nào được yêu cầu ...?
Ghanshyam Lakhani

1
Mặc dù được chấp nhận nhưng đây không phải là giải pháp chính xác. Bạn không chạy chương trình, không VS hay bất kỳ thứ gì khác với tư cách là quản trị viên trừ khi cần thiết. Câu hỏi ban đầu là về chương trình OP viết, không phải VS. Câu trả lời chính xác là xác định rằng chương trình đang được phát triển yêu cầu đặc quyền của quản trị viên.
Gábor

65

VS phải được chạy với quyền quản trị viên. tuy nhiên, một cách thanh lịch hơn là trong tệp kê khai RequiredExecutionLevel nên được đặt thành 'requestAdministrator'.

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

Khi bạn mở dự án và cố gắng gỡ lỗi, VS2012 sẽ cảnh báo về quyền quản trị viên và tự khởi động lại quyền quản trị viên. Và tệp exe cũng sẽ được đánh dấu là yêu cầu quản trị viên ngay tại nơi đầu tiên, do đó khi triển khai bạn không cần phải định cấu hình yêu cầu quyền quản trị viên trong thuộc tính tệp.


1
Đồng thời đảm bảo rằng trong tab Bảo mật của dự án của bạn, "Bật ClickOnce ..." không được chọn, nếu không bạn sẽ nhận được cảnh báo bảo mật khi cố chạy mã do quản trị viên yêu cầu. (cài đặt đó sẽ được kiểm tra nếu bạn đã nhấp vào 'Xuất bản' trên ứng dụng của mình tại một số điểm).
monty

1
Chỉ cần một ghi chú - nếu không có tệp kê khai, chỉ cần thêm một tệp. Bằng cách nào đó tôi không nhận ra nó có thể không tồn tại.
Mołot

12

Bạn cũng có thể đặt tùy chọn quản trị viên này tự động:

nhập mô tả hình ảnh ở đây


1
Tôi nghĩ bạn muốn đánh dấu mục nhập "Thuộc tính" trong menu ngữ cảnh, nhưng mọi người đều biết bạn đang nói về điều gì.
Aaron Campbell

Một cách dễ dàng hơn là Compatibility > Run As Administrator.
AStopher

1
Đây là một ý tưởng tồi tệ. Bạn thực sự không muốn Visual Studio chạy liên tục với tư cách quản trị viên.
Jammer

1
Ảnh chụp màn hình này hoàn toàn khó hiểu và không có lời giải thích kèm theo, bất kể đó có phải là một giải pháp tốt hay không.
MickeyfAgain_BeforeExitOfSO

7

Để trả lời câu hỏi trong tiêu đề của bạn, bạn chỉ có thể chọn Chạy với tư cách Quản trị viên từ trình đơn ngữ cảnh khi khởi động VS.


4

Bây giờ câu trả lời đã chọn sẽ không hoạt động.

Bạn sẽ tìm thấy một tùy chọn cho điều này trong Trình liên kết thuộc tính dự án -> Tệp kê khai -> Mức thực thi UAC . Đặt điều này thành RequiredAdminstrator .

Điều này sẽ làm cho tệp kê khai được tạo mặc định bao gồm Cấp độ thực thi được yêu cầu mà bạn cần, để người dùng của bạn sẽ được nhắc tự động nâng cao đặc quyền của họ nếu họ chưa được nâng cấp.


1

Các "Nhiệm vụ này đòi hỏi các ứng dụng để có quyền cao" lỗi xảy ra vì Người dùng hiện tại không có một đặc ân đủ để mở Visual Studio.

Như một giải pháp tạm thời

Bạn có thể khắc phục sự cố này bằng cách nhấp chuột phải vào visual studio và chọn chạy với tư cách quản trị viên bất cứ lúc nào bạn định mở nó

Như một giải pháp lâu dài ,

Bạn có thể kiểm tra khắc phục sự cố tương thích

  • Phải, Nhấp vào Visual Studio> chọn Khắc phục sự cố tương thích.
  • Chọn Chương trình khắc phục sự cố.
  • Kiểm tra Chương trình yêu cầu quyền bổ sung.
  • Nhấp vào Kiểm tra chương trình.
  • Chờ trong giây lát cho đến khi chương trình khởi chạy. Nhấn tiếp.
  • Chọn Có, lưu các cài đặt này cho chương trình này.

Để biết các bước chi tiết với hình ảnh, vui lòng kiểm tra Visual Studio yêu cầu ứng dụng có quyền cao hơn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.