繁体   English   中英

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

[英]Namespace not available in other project

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

例如:

namespace com.xyz.foo.bar
{
}

namespace com.xyz.abc.def
{
}

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

我不明白为什么会这样。

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

谁能解释这件事背后的原因?

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

事实证明,我需要将“Target Framework”更改为“.NET Framework 4”而不是“.NET Framework 4 Client Profile”。 我没有费心去弄清楚为什么这会导致“未知名称空间”错误,但它解决了我的问题。

约翰

您的命名空间必须具有标记为public的类等

namespace com.xyz.foo.bar
{
    class MyClass
    {
    }
}

namespace com.xyz.abc.def
{
    public class AnotherClass
    {
    }
}

bar命名空间将不可见,而def将不可见(如果没有在其中public任何其他内容)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM