Резюме для программиста
Щас глянул, как в моём проекте используются файлы с кодом, добавленные как ссылки. В этом файле с кодом весь код объявлен в двух пространствах имён, которые переключаются через conditional compilation symbol, типа такого:
#if AppServ
namespace BlahBlah.Mamespace1
#endif
namespace BlahBlah.Mamespace2
В том проекте, где находится оригинал, никаких лишних условных символов компиляции нет. А в проекте, куда файл добавлен по ссылке - объявлен символ AppServ. Похоже, что если код запущен как приложение на сервере, то им нужно было, чтобы он был под одним пространством имён, а если нет - то под другим.
И вот вопрос - каким надо быть замудрённым, чтобы так организовать приложение? У вас в практике что-то подобное было? Я в упор не вижу, нахрена так делать, а не просто сделать код отдельной подключаемой библиотекой со своим собственным пространством имён. Что это за беготня по пространствам имён в зависимости от того, где запущено, и подключение по ссылкам, которые не отслеживаются IDE как зависимости? Немцы как придумают чего, так хоть застрелись.