2014-02-05 2 views
3

У меня есть решение, в котором есть много проектов.Невозможно ссылаться на объекты в ссылочной сборке

Проект SqlSmoke.Objects ссылается на проект SqlSmoke.Data.

Я установил ссылку в SqlSmoke.Objects на решение SqlSmoke.Data. Тогда я смогу скомпилировать все решение.

Однако SqlSmoke.Data не отображается в intellisense, как показано ниже. Однако, когда я меняю свое пространство имен на SqlSmoke.Fred, я вижу SqlSmoke.Data в intellisense.

Я не см. любые круговые ссылки или другие предупреждения в окне вывода, которые предполагают, что что-то еще происходит.

Что я могу найти, чтобы понять, почему я не могу ссылаться на объекты в проекте Data из проекта Objects?

using SqlSmoke.Data; 


namespace SqlSmoke.Objects 
{ 
    public class Class2 
    { 
     public void Junk() 
     { 
      SqlSmoke.Data. //No intellisense 
     }   
    } 
} 

Если изменить пространство имен, я получаю Intellisense:

using SqlSmoke.Data; 


namespace SqlSmoke.ObjectsChangedNamespace 
{ 
    public class Class2 
    { 
     public void Junk() 
     { 
      SqlSmoke.Data.CodeObjectData.AddCodeObject("Test"); //Now I see intellisense 
     }   
    } 
} 
+0

Я видел это один раз и просто нужно перезапустить Visual Studio. Изменение пространства имен в SqlSmoke.Fred кажется мне странным; это не произошло, когда я это испытал, но я никогда не пробовал менять пространство имен до перезапуска. –

+0

Это может помочь указать, какую версию и версию визуальной студии вы используете. – Onots

+0

Перезапуск не помогает. Я все еще получаю сообщение об ошибке Тип или имя пространства имен «Данные» не существует в пространстве имен «SqlSmoke.Objects.SqlSmoke». Не уверен, почему он дважды перечисляет SqlSmoke. Это ключ? – user1989103

ответ

1

У вас есть [суб] пространство имен/класс столкновения. Использование:

public void Junk() 
{ 
    global::SqlSmoke.Data. 
} 

и он будет работать.

+1

Вы правы. Хотя я не уверен относительно источника столкновения. Действительно ли «Global ::» говорит «посмотрите на внешнюю ссылку» или как я могу это прочитать? – user1989103

+2

взгляните на http://msdn.microsoft.com/en-us/library/c3ay4x3d.aspx - у них есть пример – Igor

Смежные вопросы