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>
项目构建成功,但是当我打开页面时,它会给出错误
答案 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将无法正常工作。