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

C# Type or namespace name could not be found in another project

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

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

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

BaseWindowViewModel 具有签名:

public abstract class BaseWindowViewModel : BaseViewModel, IBaseWindowViewModel

MainWindowViewModel 应该子class 这个class,像这样:

public class MainWindowViewModel : BaseWindowViewModel

我已经为第二个 class 设置了 using-references,我可以,例如MainWindowViewModel subclass any other (old) class or interface in the other project/namespace ToolBox.Base, 但出于某种原因 VS 找不到 BaseWindowViewModel,编译器也找不到它使用,所以我得到一个 "The type or namespace name 'BaseWindowViewModel' could not be found (...)" 错误。

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

我尝试过的:

没有任何效果,除了:

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

有什么想法吗?我马上就要秃头了...

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

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

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