[c#] Visual Studio를 사용하여 디버그에서 관리자로 응용 프로그램을 실행하는 방법은 무엇입니까?

C 드라이브의 루트에 대한 읽기 / 쓰기 액세스 권한이 있어야하는 AC # 응용 프로그램이 있습니다. 코드를 컴파일하고 관리자 권한으로 실행 파일을 실행할 수 있으며 작동합니다. 하지만 디버그해야하고 Visual Studio 내에서 앱을 시작하는 방법이 확실하지 않습니다.

나는 추가를 시도했다 :

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

내 매니페스트에 액세스하지만 여전히 액세스 거부 오류가 발생합니다.

다음은 실패한 코드 줄입니다.

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

지금은 해결 방법이 있지만 미래에 대해 알고 싶습니다.



답변

Visual Studio 자체를 관리자로 실행하기 만하면됩니다. 여기에서 디버깅하는 모든 프로그램은 관리자로 실행됩니다.


답변

VS는 관리자 권한으로 실행해야합니다. 그러나 더 우아한 방법은 manifest의 requiredExecutionLevel에서 ‘requireAdministrator’로 설정해야합니다.

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

프로젝트를 열고 디버깅을 시도하면 VS2012가 관리자 권한에 대해 경고하고 관리자 권한으로 다시 시작됩니다. 또한 exe 파일은 처음에 관리자 권한이 필요한 것으로 표시되므로 배포 할 때 파일 속성에서 관리자 권한 요구 사항을 구성 할 필요가 없습니다.


답변

이 관리자 옵션을 자동으로 설정할 수도 있습니다.

여기에 이미지 설명 입력


답변

제목의 질문에 답하려면 VS를 시작할 때 컨텍스트 메뉴에서 관리자 권한으로 실행을 선택하면됩니다.


답변

이제 확인 된 답변이 작동하지 않습니다.

프로젝트 속성 링커 -> 매니페스트 파일 -> UAC 실행 수준 에서 이에 대한 옵션을 찾아야합니다 . requireAdminstrator로 설정하십시오 .

이렇게하면 생성 된 기본 매니페스트에 필요한 requestedExecutionlevel 이 포함되어 사용자가 아직 권한이 상승하지 않은 경우 자동으로 권한을 상승하라는 메시지가 표시됩니다.


답변

“이 작업은 관리자 권한을 가지고 응용 프로그램이 필요합니다” 오류가 비주얼 스튜디오를 열 수있는 충분한 권한을 가지고 있지 않았기 때문에 현재 사용자로 인해 발생합니다.

임시 해결책으로

Visual Studio를 마우스 오른쪽 버튼으로 클릭하고 열 때마다 관리자 권한으로 실행을 선택하여이 문제를 해결할 수 있습니다.

영구적 인 솔루션으로 ,

호환성 문제 해결을 확인할 수 있습니다.

  • 오른쪽, Visual Studio를 클릭하고 호환성 문제 해결을 선택합니다.
  • 프로그램 문제 해결을 선택합니다.
  • 프로그램에 추가 권한이 필요함을 선택하십시오.
  • 프로그램 테스트를 클릭합니다.
  • 프로그램이 시작될 때까지 잠시 기다리십시오. 다음을 클릭하십시오.
  • 예,이 프로그램에 대해이 설정을 저장합니다를 선택합니다.

이미지가 포함 된 세부 단계는 Visual Studio에 애플리케이션에 상승 된 권한이 필요함을 확인하세요.


답변