Mam aplikację ac #, w której muszę mieć dostęp do odczytu / zapisu do katalogu głównego dysku C. Zdaję sobie sprawę, że mogę skompilować kod i uruchomić plik wykonywalny jako administrator i działa. Ale muszę go debugować i nie jestem pewien, jak można uruchomić aplikację w programie Visual Studio.
Próbowałem dodać:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
do mojego manifestu, ale nadal otrzymuję błąd odmowy dostępu.
Oto wiersz kodu, który nie działa:
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);
Na razie mam trochę pracy, ale chciałbym to wiedzieć na przyszłość.
c#
visual-studio
carny666
źródło
źródło
Odpowiedzi:
Po prostu uruchom Visual Studio jako administrator. Każdy program, który stamtąd debugujesz, będzie również uruchamiany jako administrator.
źródło
VS musi być uruchamiany z uprawnieniami administratora. jednak bardziej elegancki sposób jest na poziomie requiredExecutionLevel w manifeście, który powinien być ustawiony na „requireAdministrator”.
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Kiedy otworzysz projekt i spróbujesz debugować, VS2012 ostrzeże o prawach administratora i uruchomi się ponownie z uprawnieniami administratora. Ponadto plik exe zostanie oznaczony jako wymagający uprawnień administratora w pierwszej kolejności, dlatego podczas wdrażania nie trzeba konfigurować wymagań dotyczących uprawnień administratora we właściwościach pliku.
źródło
Możesz również ustawić tę opcję administratora automatycznie:
źródło
Compatibility > Run As Administrator
.Aby odpowiedzieć na pytanie w swoim tytule, możesz po prostu wybrać Uruchom jako administrator z menu kontekstowego podczas uruchamiania VS.
źródło
Teraz zaznaczona odpowiedź nie będzie działać.
Powinieneś znaleźć odpowiednią opcję we właściwościach projektu Linker -> Plik manifestu -> Poziom wykonania UAC . Ustaw to na requireAdminstrator .
Spowoduje to, że domyślny wygenerowany manifest będzie zawierał plik wymagany poziom wykonania , dzięki czemu Twoi użytkownicy zostaną automatycznie poproszeni o podniesienie ich uprawnień, jeśli nie mają jeszcze podwyższonych uprawnień.
źródło
Komunikat „To zadanie wymaga, aby aplikacja miała podwyższone uprawnienia” błąd występuje, ponieważ bieżący użytkownik nie posiada wystarczających uprawnień, aby otworzyć Visual Studio.
Jako rozwiązanie tymczasowe
Możesz rozwiązać ten problem, klikając prawym przyciskiem myszy program Visual Studio i wybierając opcję Uruchom jako administrator za każdym razem, gdy zamierzasz go otworzyć
Jako trwałe rozwiązanie ,
Możesz sprawdzić rozwiązywanie problemów ze zgodnością
źródło