在另一个项目中找不到C#类型或命名空间名称

时间:2015-03-05 18:40:34

标签: visual-studio-2013 compiler-errors

我在VS 2013解决方案中的3个C#项目,一个WPF项目和两个类库。每个项目都有自己的命名空间。

在一个项目中,我有一个名为MainWindowViewModel的类,属于名称空间ViewModels。

在另一个项目中,我有一个名为BaseWindowViewModel的类,属于名称空间ToolBox.Base。

BaseWindowViewModel具有签名:

public abstract class BaseWindowViewModel : BaseViewModel, IBaseWindowViewModel

MainWindowViewModel应该是这个类的子类,如下所示:

public class MainWindowViewModel : BaseWindowViewModel

我已经为第二节使用了引用,我可以例如有MainWindowViewModel子类其他项目/命名空间ToolBox.Base中的任何其他(旧)类或接口,但由于某种原因VS无法找到BaseWindowViewModel,它也不能使用它的编译器,所以我得到一个“类型或命名空间名称无法找到“BaseWindowViewModel”(...)“错误。

有趣的是,我无法访问我在ToolBox.Base项目中添加的任何其他新类,但我可以访问旧类...

我尝试了什么:

  • 清理并重建所有项目/整体解决方案
  • 复制并粘贴名称以确保它们拼写正确
  • 创建了添加相同项目的新解决方案
  • 创建了一个新的空类,尝试通过子类化
  • 访问它
  • 上述两个项目中都有一个全新的课程
  • 在我在此处找到的内容之后检查所有项目的目标框架(.NET Framework 4.5)
  • 仔细检查项目引用,即使考虑到我可以访问引用项目中的旧类也应该没问题
  • 吃了糖果......(非常适合我的灵魂,但没有解决任何问题)

没有任何效果,除了:

  • 将BaseWindowViewModel.cs文件复制到ViewModels项目,不更改任何内容,甚至不更改命名空间,保持文件不变

......但这对我的目的来说并不令人满意......

有什么想法吗?我很快就会秃顶......

1 个答案:

答案 0 :(得分:0)

事实证明,由于某种原因,已经创建了一个新的bin / Debug目录,并且在构建ToolBox.Base项目时,它进入了这个新目录,而另一个项目引用了旧目录!

我删除了这个项目的整个bin目录并重建了ToolBox.Base项目,然后删除并重新添加了对该项目的引用!

现在只是想知道新目录是如何创建的...... hmpf ......无论如何,问题解决了! =)