我的解决方案中有两个项目,每个项目都有一个包含公共类的CS文件。由于两个类都在同一个命名空间中,我希望它们能够看到对方。事实并非如此。请参阅下面的设置。
项目Woof1,文件File.CS
namespace MyNameSpace
{
public class Foo
{
// Doesn't compile
Faa f;
}
}
Project Woof2,文件File.CS
namespace MyNameSpace
{
public class Faa
{
// Doesn't compile
Foo f;
}
}
注意,这两个类都存储在不同目录中具有相同名称但的文件中(即不是同一个文件)。
(我只在这个问题上找到了this discussion,但最后这不是我的问题。)
答案 0 :(得分:6)
public
限定符。public
限定符。此外,最好您可能希望将enum
和其他辅助定义移动到公共项目并将其存储在那里。
答案 1 :(得分:3)
您需要从项目Woof2添加对项目Woof1的引用。
另外,尝试引用彼此并不是一个好主意,因为你引入了循环依赖,使构建成为一场噩梦。如果你摔倒了,你需要这样做,你应该考虑将公共代码分解为一个单独的(第三个)项目。
答案 2 :(得分:2)
在Woof1中,您需要包含对Woof2的引用。 另一件需要注意的是命名空间区分大小写,因此两个命名空间都应该是MyNameSpace。
答案 3 :(得分:0)
您需要从项目Woof2添加对Woof1的项目引用。有关详细信息,请参阅this链接。
答案 4 :(得分:0)
我确实和我在一起。如果dll不合适,可能会出现。在我的情况下,我在工具栏中使用了release选项。确保选择了调试选项