有没有办法确定 Visual Studio C# 解决方案中的哪些函数需要管理员权限

Is there a way to determine which functions in a Visual Studio C# solution require Administrator Privileges

我最近的任务是找出一种方法来消除 c# 应用程序的提升权限要求。

我不是很熟悉 C#,但我可以访问源代码(一个解决方案中的多个项目)并且我使用的是 VS 2013 Professional。

到目前为止,我一直在手动查看代码并参考在线文档来尝试确定提升权限要求的来源。

有没有办法使用 Visual Studio(或其他软件)来确定哪些函数调用强制要求管理员权限?

不是自动的,但可能有一些方法可以快速缩小范围。

首先,如果您有良好的测试套件,您可以 运行 作为没有管理员访问权限的用户,查看哪些测试套件失败或提示 UAC。这应该允许您快速缩小代码部分的范围(顺便说一句,我非常喜欢重新调整测试套件的用途)。那些失败的也可以快速纠正。

另一种选择是手动测试,同样由没有管理员权限的用户进行。然后可以在有问题的地方审查代码并删除问题,

如果没有自动发现问题的方法,您应该准备好进行一些 post 的错误修复(因此可能有一个实验阶段)可能会很好。