我有ac#应用程序,我必须具有对C盘根目录的读/写访问权限.我意识到我可以编译代码并以管理员身份运行可执行文件.但我需要调试它,我不确定如何在Visual Studio中启动应用程序.
我试过添加:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
Run Code Online (Sandbox Code Playgroud)
到我的清单,但我仍然得到访问被拒绝错误.
以下是失败的代码行:
MemoryMappedFile mmf = MemoryMappedFile.CreateFromFile(@"c:\somemapnamefile.data", System.IO.FileMode.OpenOrCreate, "somemapname", 1000);
Run Code Online (Sandbox Code Playgroud)
现在我有一个工作,但我想知道未来.
Sam*_*ica 117
只需以管理员身份运行visual studio本身.您从那里调试的任何程序也将以管理员身份运行.
Sup*_*nno 63
VS必须以管理员权限运行.但是,一个更优雅的方法是在manifest中的requiredExecutionLevel中设置为'requireAdministrator'.
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)
当您打开项目并尝试调试时,VS2012将警告管理员权限并重新启动管理权限.并且exe文件将被标记为首先要求管理员,因此在部署时您不需要在文件属性中配置管理权限要求.
Bur*_*dar 12
您还可以自动设置此管理员选项:

小智 7
现在检查的答案将不起作用。
您应该在项目属性Linker -> Manifest File -> UAC Execution Level中找到一个选项。将其设置为requireAdminstrator。
这将导致默认生成的清单包含您需要的requestedExecutionlevel,以便您的用户在尚未提升权限的情况下,系统会自动提示他们提升权限。
| 归档时间: |
|
| 查看次数: |
77268 次 |
| 最近记录: |