【问题标题】:C# Type or namespace name could not be found in another project在另一个项目中找不到 C# 类型或命名空间名称
【发布时间】:2015-03-06 14:36:26
【问题描述】:

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

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

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

BaseWindowViewModel 有签名:

public abstract class BaseWindowViewModel : BaseViewModel, IBaseWindowViewModel

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

public class MainWindowViewModel : BaseWindowViewModel

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

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

我尝试过的:

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

没有任何效果,除了:

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

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

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

【问题讨论】:

  • 您是否添加了必要的项目引用?否则 usings 仍然会给你错误。
  • 是的,Sebastiaan,这在我检查过的事情列表中 =(...今天我还尝试删除该项目引用并再次添加它,但运气不好...

标签: visual-studio-2013 compiler-errors


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2011-06-28
    • 2021-08-19
    • 1970-01-01
    • 2017-07-12
    • 2011-05-13
    • 2011-02-24
    • 2019-01-17
    相关资源
    最近更新 更多