2010-11-19 50 views
6

我有2個WinForm應用程序。。由於其保護級別,可能無法訪問

已完成的工作WinFormApp1具有對CompanyName.BusinessObjects.dll的引用。

一個新的WinForm應用程序nothinhg在它有一個BusinessObjects.dll的引用。當我輸入「Import CompanyName.BusinessObjects」時,intellisense會識別它​​並在我引用包含的對象時顯示可用的方法。

但是,當我編譯它時,我得到「未聲明」的錯誤,由於它的保護級別,它可能無法訪問。它似乎不再承認BusinessObjects項目。

我發誓這是一個錯誤。之前發生過一次,我想我可以通過彈出VS2010來清除它,清理並重新編譯所有內容。

現在,沒有什麼幫助。

我很絕望,因爲我認爲它是一個錯誤,我不知道如何解決它。

Here人們對同一個問題和解決方案的討論,以前的工作,但它不再爲我工作。

+0

你提到'清洗'。這包括刪除bin和obj文件夾的內容嗎? – Andrew 2010-11-19 02:38:12

+0

您的項目是在映射網絡驅動器上嗎? .Net Framework 4和VS 2010強制實施新的安全要求,使得從網絡UNC訪問dll困難重重。不是不可能的,但是如果使用本地計算機的路徑,即使映射的驅動器指向本地路徑,情況也會更好。 – Josh 2010-11-19 02:44:10

+0

我刪除了BO項目的bin和obj文件夾中的BO dll,從客戶端bin文件夾中的客戶端WinForm應用程序和BO.dll中刪除了BO參考。然後,我將客戶端應用程序項目引用重置爲BO項目,選擇「Clean Solution」,然後重新構建所有。同樣的問題。我沒有使用網絡共享 - 一切都在我的電腦 – VJK 2010-11-19 02:50:53

回答

0

BusinessObjects中是否有任何聲明爲內部的東西?

我認爲這可能是一個命名空間問題。確保所有內容都在同一個Namespace中,然後重試。

+0

這個問題似乎只與我的Telerik WinForms項目。我得到的msg類似於這個人使用DevExpress獲得的錯誤:http://community.devexpress.com/forums/p/69438/246555.aspx。我只是通過首先卸載升級我的WinForm控件。當我注意到卸載在我的驅動器上留下了150 MB時,我決定手動清理它,然後運行reg clean,因爲我想將新版本加載到其他驅動器。我想我讓自己變得一團糟。我討厭卸載後遺留gobs。 – VJK 2010-11-19 03:45:29

0

您是否嘗試過運行您的IDE我猜是Visual Studio作爲管理員?

+0

問:你有沒有試過運行你的IDE我猜是Visual Studio作爲管理員 答:是(15個字符最少在回答) – VJK 2010-11-19 03:31:48

5

答案:看看輸出窗口的線索。

BusinessObjects.dll" could not be resolved because it has a dependency on "System.Web, Version=4.0.0.0, Culture=neutral 

我的客戶端應用程序是針對CLIENT框架而非完整框架編譯的。解決方案是完全編譯,或者最好從BO中刪除Web依賴項,這在現實之後是一種痛苦。

+0

絕對正確。 – Middletone 2012-03-24 15:02:48

2

這發生在我身上,我發現我的.designer文件有一個Namespace包含在頂部。刪除這個固定投影問題。

相關問題