【发布时间】:2012-10-25 12:43:35
【问题描述】:
我的解决方案中有两个项目,每个项目都有一个包含公共类的 CS 文件。由于这两个类都在同一个命名空间中,我希望它们能够互相看到。事实并非如此。请参阅下面的设置。
Woof1 项目,文件 File.CS
namespace MyNameSpace
{
public class Foo
{
// Doesn't compile
Faa f;
}
}
Woof2 项目,文件 File.CS
namespace MyNameSpace
{
public class Faa
{
// Doesn't compile
Foo f;
}
}
注意,这两个类都存储在具有相同名称的文件中但在不同的目录中(即不是同一个文件)。
- 为什么不能编译?
- 我能做些什么(除了将类移到同一个项目中)。
(我只在这个主题上找到了this discussion,但最终这不是我的问题。)
【问题讨论】:
-
我首先想到的是缺少参考。即使项目在同一个解决方案中,Woof2 项目也需要对 Woof1 项目的引用。
-
我认为您的两个项目都需要相互参考。
-
您必须在 Woof2 中添加对 Woof1 的项目引用。右键单击引用并从同一解决方案中选择 Woof2。仅供参考,命名空间区分大小写。 MyNameSpace 的输入方式不同,但我认为这只是您的示例的错字,对吧?
-
这是真正的代码吗?因为你的 2 命名空间不一样。
-
@Johnny5 是的,我添加了参考。我也尝试了项目参考和 DLL。是的 - 它是命名空间中的一种类型,但仅限于 SO。在真实的代码中,它拼写正确。
标签: c#