首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法在System.DirectoryServices.AccountManagement VB站点中加载ASP.NET

无法在System.DirectoryServices.AccountManagement VB站点中加载ASP.NET
EN

Stack Overflow用户
提问于 2014-09-18 15:49:48
回答 2查看 16.8K关注 0票数 6

我一直致力于向一个已经存在的ASP.NET网站添加Active Directory功能,遵循微软的指南:http://support.microsoft.com/kb/326340。这是一个很长的过程,但是我现在坚持的是不能访问AccountManagement类来使用某些函数,比如"GetGroup()“。

我可以很好地访问DirectoryServices,但不能访问帐户管理。当我使用以下代码测试引用时:

代码语言:javascript
运行
复制
Response.Write(System.DirectoryServices.AccountManagement.Principal.GetGroups())

我得到了一个错误: BC30456:'AccountManagement‘不是'DirectoryServices’的成员。

我已经将这个程序集标记添加到web.config页面:

代码语言:javascript
运行
复制
<add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />

此外,我还导入了两个名称空间:

代码语言:javascript
运行
复制
<%@ Import Namespace="System.DirectoryServices" %>
<%@ Import Namespace="System.DirectoryServices.AccountManagement" %>

这是我的版本信息,显示在错误页面上:

版本信息:微软.NET框架版本:4.0.30319;ASP.NET版本:4.0.30319.34237

我正在编辑这个网站VS 2010。我缺少了什么,怎么才能在这里添加AccountManagement?我是没有正确导入它,还是有什么地方可以检查是否缺少.dll?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-18 16:44:13

虽然在标记中导入两个命名空间,但只引用System.DirectoryServices.dll。AccountManagement部件位于单独的dll中。

添加对web.config的另一个引用:

代码语言:javascript
运行
复制
<add assembly="System.DirectoryServices.AccountManagement ...
票数 5
EN

Stack Overflow用户

发布于 2016-05-31 17:54:49

我尝试了Reg的建议,但是后来我遇到了另一个错误,在这个错误中我的应用程序找不到web.config中描述的引用。几个小时后,我偶然发现了this stackoverflow answer

它说,对System.DirectoryServices.AccountManagement的引用应该在“True”上有“复制本地”。老实说,我看不出为什么要这样做,因为这是一个框架库,但是更改设置对我来说是有效的。

你可以这样做: 使用(var context = new PrincipalContext(ContextType.Domain)) { var主体= UserPrincipal.FindByIdentity(context,User.Identity.Name);var firstName = principal.GivenName;var lastName = principal.Surname;} 您需要添加对System.DirectoryServices.AccountManagement程序集的引用。 您可以添加如下所示的Razor助手: @helper AccountName() { var (var context = new PrincipalContext(ContextType.Domain)) {var主体= UserPrincipal.FindByIdentity(context,User.Identity.Name);@principal.GivenName @principal.Surname } 如果您从视图(而不是控制器)缩进此操作,则还需要向web.config添加程序集引用: 将其添加到configuration/system.web/assemblies下。

来自:Answer To: How do I get the full name of a user in .net MVC 3 intranet app?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25917186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档