命名空间在其他项目中不可用

时间:2011-08-12 12:34:36

标签: .net visual-studio namespaces c#-3.0

我创建了一个C#控制台应用程序。在该应用程序中,我有许多名称空间。

例如:

namespace com.xyz.foo.bar
{
}

namespace com.xyz.abc.def
{
}

当我将此控制台应用程序的引用添加到WCF服务项目中时,某些命名空间无法导入。即,从上面的示例中,我可以获得com.xyz.foo.bar命名空间,但com.xyz.abc.def命名空间不可用。

我不明白为什么会这样。

如果我从'对象浏览器'打开控制台应用程序的可执行文件,我可以看到所有命名空间。

任何人都可以解释这件事背后的原因吗?

2 个答案:

答案 0 :(得分:3)

我有一个类似的问题,即使在同一个解决方案中有一个项目引用,类型是公共的等等,找不到命名空间。

事实证明,我需要将“目标框架”更改为“.NET Framework 4”而不是“.NET Framework 4 Client Profile”。我没有理会为什么这会导致“未知命名空间”错误,但它解决了我的问题。

约翰

答案 1 :(得分:1)

您的命名空间必须包含标记为public

的类等
namespace com.xyz.foo.bar
{
    class MyClass
    {
    }
}

namespace com.xyz.abc.def
{
    public class AnotherClass
    {
    }
}
bar将会显示

def名称空间(如果其中没有其他内容声明public