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

时间:2012-05-21 18:59:04

标签: c# asp.net active-directory directoryservices

  

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>

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

9 个答案:

答案 0 :(得分:40)

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

答案 1 :(得分:12)

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

如果您使用的是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>

答案 2 :(得分:9)

1 - 单击鼠标左键&#34;参考&#34;
2 - 单击&#34;添加参考...&#34;
3 - 点击&#34;浏览&#34;按钮
4 - 在文件夹中查找以下文件:

  

&#34; C:\ Program Files \ Reference   组件\微软\ Framework.NETFramework \ v4.6.1&#34;

     

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

5 - 选择它们 6 - 按&#34;确定&#34;按钮

答案 3 :(得分:2)

我在Visual Studio 2015中遇到了一个针对.NET Framework 4.5.2的MVC项目。将目标框架更改为.NET 4.5解决了这个问题。

答案 4 :(得分:2)

对我有用的简单方法是右键单击References =&gt;添加引用,然后选择System.DirectoryServices(和所需的子组件)。

答案 5 :(得分:1)

您需要在asp.net页面上添加import指令。确保它完全合格。确保在项目中也有对程序集的引用。

 <%@ Assembly Name="System.DirectoryServices, Version=2.0.0.0,
     Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" %>

答案 6 :(得分:0)

您似乎需要在System.DirectoryServices中添加引用(在您的项目中)。由于您在看起来像aspx标记页面的地方使用它,有时编译器会让那些在#34; build&#34;但实际执行页面时会失败。

答案 7 :(得分:0)

我遇到了同样的问题。我在windows文件夹中搜索了DirectoryServices.dll。由于出现的所有版本都具有相同的大小,我选择了一个并将其复制到我网站的bin文件夹中。如果您没有bin文件夹,只需创建它。 一旦我这样做,我就可以毫无错误地打开我的网页。

答案 8 :(得分:0)

如果在引用中添加了程序集“System.DirectoryServices.AccountManagement”,它将起作用。添加System.DirectoryServices将无法正常工作。