2
我有一个C#项目引用了从VB.NET项目构建的.NET程序集。混合C#和VB.NET项目中的UAC
此VB.NET程序集需要管理权限。
我创建了一个清单在我的C#项目有:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
和一切似乎好:当我运行:
bool isAdmin = new WindowsPrincipal(WindowsIdentity.GetCurrent())
.IsInRole(WindowsBuiltInRole.Administrator) ? true : false;
从我的C#代码,我得到isAdmin == True
不如预期,但是当我从VB.NET DLL中调用一个方法时:
My.User.IsInRole(Microsoft.VisualBasic.ApplicationServices.BuiltInRole.Administrator)
我得到了False。
这对我来说似乎不合逻辑。此外,如果我创建了一个VB.NET项目并引用此VB.NET程序集并使用管理权限运行它,所有工作都很好。
这个吧,谢谢! – max333 2012-04-15 08:16:38