我有一个c#解决方案与Visual Studio 2010中的几个项目。 一个是测试项目(我叫它“PrjTest”),另一个是Windows窗体应用程序项目(我叫它“PrjForm”)。PrjForm还引用了第三个项目,它能够成功地引用和使用该项目。

PrjForm引用了PrjTest,并且PrjForm有一个带有using语句的类:

using PrjTest;

Reference已正确添加 Using语句是正确的 拼写正确 成功构建了PrjTest PrjForm几乎构建,但在使用PrjTest时中断;与错误行:

无法找到类型或名称空间名称'PrjTest'(您是否缺少using指令或程序集引用?)

我尝试了以下方法来解决这个问题:

删除Resharper(因为Resharper识别引用的项目没有问题,我认为它可能值得一试) 删除并重新添加了引用和using语句 重新创建PrjForm PrjForm目前驻留在PrjTest文件夹中,我尝试将其移动到外部文件夹 将解决方案加载到另一台计算机上,使用vs2010的新副本

我已经做了功课,花了很长时间在网上寻找答案,但没有一个解决方案有用。

我还能试什么?


当前回答

我也有同样的问题。目标框架对我来说很好。但它还是不工作。 我安装了VS2010 sp1,并在PrjTest上进行了“重建”。然后它开始为我工作。

其他回答

我解决了我的问题,因为另一个项目是用。net 4.5编码的,而另一个项目是用。net 4.0编码的

其他可能导致这种行为的问题是构建配置。

我有两个项目,将配置设置为构建到特定的文件夹。 就像调试和任意CPU一样,然后是调试和x86。

我所做的是,我去了解决方案->上下文菜单->属性->配置属性->配置,我把所有的项目都设置为使用相同的配置Debug和x86,还检查了Build tick mark。

然后项目开始正确地构建,并且能够看到名称空间。

如果您的项目(PrjTest)没有在PrjTest名称空间中公开任何公共类型,则会导致该错误。

项目(PrjTest)是否在“PrjTest”命名空间中包含任何公共的类或类型?

看这个问题。

原来这是客户档案的问题。

PrjForm设置为”。Net Framework 4客户端配置文件 我把它改成了”。Net Framework 4”,现在我有一个成功的构建。

谢谢大家! 我想,在花了那么多时间在网上搜索之后,我在发帖后几分钟就找到了解决方案,我猜诀窍是知道要问的正确问题。

检查你的项目属性,你的参考路径应该是空的,像这样:

问候