命名空间中不存在类型或命名空间名称"DirectoryServices"?

Ali*_*Ali 15 c# asp.net directoryservices active-directory

CS0234:名称空间"系统"中不存在类型或命名空间名称"DirectoryServices"(您是否缺少程序集引用?)

此页面工作正常,直接显示来自服务的记录,没有错误.但现在它给出了上述错误.

 <asp:GridView ID="gvUsers" runat="server" AutoGenerateColumns="false" DataSourceID="odsUsers"
                                    AllowPaging="true" AllowSorting="true" Width="100%">
<Columns>
 <asp:TemplateField HeaderText="User Name">
 <ItemTemplate>

<%#((System.DirectoryServices.DirectoryEntry)Container.DataItem).Properties["userPrincipalName"].Value%>

   </ItemTemplate>
   </asp:TemplateField>
/Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

项目构建成功,但是当我打开页面时,它会出错

小智 40

添加目录服务引用后,右键单击reference并转到properties.设为"CopyLocal"true.


Slo*_*ire 13

我很确定我将我的应用程序从我的开发盒"发布"到我的IIS框中完全错误.但是,我在这里找到了这个解决方案,它对我有用.

如果您使用的是Web应用程序,则在web.config中添加以下代码.

<compilation debug="true" targetFramework="4.0" >
    <assemblies>
        <add assembly="System.DirectoryServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.DirectoryServices.AccountManagement, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    </assemblies>
</compilation>
Run Code Online (Sandbox Code Playgroud)


小智 9

1 - 单击"Refrences"上的鼠标左键
2 - 单击"添加参考..."
3 - 单击"浏览"按钮
4 - 在文件夹中查找以下文件:

"C:\ Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.6.1"

-System.DirectoryServices.dll
-System.DirectoryServices.AccountManagement.dll

5 - 选择它们
6 - 按"确定"按钮


Nat*_*ate 0

看起来您需要将引用(在您的项目中)添加到System.DirectoryServices. 由于您在看起来像 aspx 标记页面的内容中使用它,有时编译器会让它们在“构建”期间飞行,但在您实际执行页面时失败。