引用的DLL找不到,因为VS名称空间错误

引用的DLL找不到,因为VS名称空间错误

问题描述:

我有一个包含常见类型和例程的DLL。该组件名称和命名空间是相同的:引用的DLL找不到,因为VS名称空间错误

MyCompany.Tools.Common 

我添加引用这个DLL,然后我添加使用的声明,说明希望从组件使用类型的文件:

using MyCompany.Tools.Common; 

然后我用的类型之一在另一个程序集:

SafeInvoker.Invoke(this.pctBoxCLIP, delegate { this.pctBoxCLIP.Visible = value; }); 

到目前为止一切都很好,但是当我现在正在制作装配,Visual Studio中抱怨说:

“的类型或命名空间名称 ‘常见’在 命名空间中不存在 ‘MyCompany.Tools

但是,如果我看在对象浏览器,我可以请参阅命名空间MyCompany.Tools.Common &所有类型等

如果我删除对该DLL的引用并再次添加该错误,直到我尝试再次构建。

任何想法这里发生了什么,以及如何解决它?

+1

你检查了参考本身的位置吗?它可能指向GAC或其他地方,因此,如果Common是新的,它将不会提取它。 – briantyler 2011-04-14 11:33:00

+0

该DLL位于我的开发机器上的本地文件中。碰巧它没有被复制到项目目录中,但即使手动完成,也存在相同的问题。 – Kildareflare 2011-04-14 15:17:26

+0

你是什么意思手动完成?您是否将该dll复制到您的项目目录中?或者你是否手动添加了refence(而不是从其他项目复制粘贴引用?) – Yuan 2011-05-04 09:08:00

听起来像每次你建立你的DLL正在被取代。我昨天在VS2010中遇到过这种情况。我删除了参考文献,从库中删除了库,添加了两个,并且仍然在发生。我所做的是我删除了引用,从bin文件夹中删除了dll,将最新版本的dll复制到了一个新目录(与之前引用的位置不同),并从新目录引用它。似乎在事后工作。至于为什么发生,没有线索。

刚刚解决完全相同的问题。我有一个用.NET Framework 4 Client Profile编译的解决方案,另一个用.NET Framework 4(Full)编译。

将两者都更改为完整框架后,它开始工作。