Пространство имен недоступно в другом проекте - PullRequest
2 голосов
/ 12 августа 2011

Я создал одно консольное приложение C #. В этом приложении у меня много пространств имен.

например:

namespace com.xyz.foo.bar
{
}

namespace com.xyz.abc.def
{
}

Когда я добавил ссылку на это консольное приложение в проект службы WCF, некоторые из пространств имен недоступны для импорта. то есть из приведенного выше примера я могу получить com.xyz.foo.bar пространство имен, но com.xyz.abc.def пространство имен недоступно.

Я не понимаю, почему это происходит.

Если я открою исполняемый файл консольного приложения из «обозревателя объектов», я могу увидеть все пространства имен.

Может кто-нибудь объяснить причину этой вещи ??

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

У меня была похожая проблема, когда пространство имен не было найдено, хотя в том же решении была ссылка на проект, типы были общедоступными и т. Д.Framework "быть" .NET Framework 4 "вместо" .NET Framework 4 Client Profile ".Я не удосужился выяснить, почему это привело к ошибке «неизвестное пространство имен», но это решило мою проблему.

Джон

1 голос
/ 12 августа 2011

В ваших пространствах имен должны быть классы и т. Д., Помеченные как public

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

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

bar Пространство имен не будет отображаться, в то время как def (если ничего не объявлено с public в них)

...