2010-11-19 83 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包含在顶部。删除这个固定投影问题。

相关问题