2012-05-21 194 views
10

CS0234:從直接服務類型或命名空間名稱「的DirectoryServices」不存在命名空間中的「系統」 (?是否缺少程序集引用)命名空間中不存在類型或名稱空間名稱「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

當你打開網頁,這是你正在構建的項目在同一臺機器上? – mservidio

+4

您是否已經添加了對您的項目的'System.DirectoryServices'程序集的引用? –

+1

@marc_s:是System.DirectoryServices程序集已經添加。我也刪除這個並再次添加,但同樣的error.and另外一個這個錯誤還有其他機器(不是在談論開發服務器)。這個網頁工作很好,從最近幾天。我在解決方案中添加了一些庫項目,其中一個是窗口服務 – Ali

回答

0

看起來你需要添加一個引用(在你的項目)System.DirectoryServices。由於您使用的是aspx標記頁面,因此有時編譯器會讓這些編譯器在「構建」期間飛行,但在您實際執行頁面時會失敗。

+0

System.DirectoryServices程序集已添加,我將其刪除並再次添加,但錯誤相同 – Ali

1

你需要在你的asp.net頁面上添加一個import指令。確保它完全合格。確保你的項目中也有對裝配的參考。

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

後您添加目錄服務的參考,右鍵單擊reference,去properties。將"CopyLocal"設置爲true。

+0

如果發生在「解決方案資源管理器」面板的頂部找不到「文件夾引用」搜索以顯示「顯示所有文件」選項。 –

0

我有同樣的問題。我在我的Windows文件夾中搜索了DirectoryServices.dll。由於所有出現的版本都具有相同的大小,我選擇了一個並將其複製到我網站的bin文件夾中。如果您沒有bin文件夾,只需創建它。 一旦我這樣做,我就能夠毫無錯誤地打開我的網頁。

7

我非常確定我將我的應用程序從我的開發框「完全錯誤地」發佈到我的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> 
1

我在Visual Studio 2015中遇到了一個針對.NET Framework 4.5.2的MVC項目的問題。將目標框架更改爲.NET 4.5可以解決問題。

1

對我而言,簡單的方法是右鍵單擊References => Add Reference,然後選擇System.DirectoryServices(和需要的部件)。

0

如果在引用中添加了「System.DirectoryServices.AccountManagement」程序集,它將起作用。添加System.DirectoryServices不起作用。

5

1 - 點擊 「Refrences」 鼠標左鍵
2 - 點擊 「添加Refrence ......」
3 - 點擊 「瀏覽」 按鈕
4 - 查找遵循夾中的文件:

「C:\ Program Files文件\參考 大會\微軟\ Framework.NETFramework \ v4.6.1」

-System.DirectoryServices.dll
-System.DirectoryServices.AccountManagement。DLL

5 - 選擇他們
6 - 按「確定」按鈕

相關問題