Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 10.09.03 12:57
Оценка:
1. Имею "class library" А, в котором есть форма и класс к ней на С#.
2. Этот класс используется в DLL-ке Б, в которой создаётся класс, наследуемый от класса из Б. Чтобы компилятор просёк информацию о классе из А пишу "#using<A.dll>.
3. Имею приложение В, которое создаёт объект класса из Б. Для того, чтобы описание класса было видно компилятором, пишу в исходнике В, что "#using<Б.dll>".

А теперь прикол: компилятор компилирует А и Б, но на В даёт ошибку с3624, что не может найти описание класса из А (!). При вставке в В фразы "#using<А.dll>" всё работает.
Почему не проходит вложенность "юзингов"? Ведь при просмотре из В ссылки на Б компилятор найдёт в метаданных ссылку на А?
Re: Вложенные #using <... . dll>
От: Banch  
Дата: 10.09.03 16:41
Оценка:
using это всего-лишь объявление, что будет использоваться namespace
нужно оно только для удобства написания кода, чтобы не писать везде полные имена классов

не надо путать using с include из С
Re[2]: Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 11.09.03 05:31
Оценка:
B>using это всего-лишь объявление, что будет использоваться namespace
B>нужно оно только для удобства написания кода, чтобы не писать везде полные имена классов
B>не надо путать using с include из С

Не путаете ли вы using, который используется ещё в C++ для введения объекта или всего namespace с тем using'ом, который DLL подключает? Я ж написал, что #using<....DLL>...
Re[3]: Вложенные #using <... . dll>
От: Banch  
Дата: 11.09.03 10:36
Оценка:
да, перепутал, я думал речь про C#
по С++ помочь не могу
Re[4]: Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 11.09.03 10:44
Оценка:
Здравствуйте, Banch, Вы писали:

B>да, перепутал, я думал речь про C#

B>по С++ помочь не могу

Хм... Там же есть подобное. В общем, сейчас проблема не решена, пишу вручную using'и.
Re[5]: Вложенные #using <... . dll>
От: Banch  
Дата: 11.09.03 10:58
Оценка:
в C# делается Reference в проекте, и они тоже рекурсивно не подключаются
Re[5]: Вложенные #using <... . dll>
От: Mika Soukhov Stock#
Дата: 11.09.03 11:03
Оценка:
Здравствуйте, Umaxik, Вы писали:

Тоесть ты хочешь прописать один корневое наймспейс и чтобы все дочерние пространства имен были видны автоматически. Так нельзя. Это by design.
Re[6]: Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 11.09.03 11:05
Оценка:
MS>Тоесть ты хочешь прописать один корневое наймспейс и чтобы все дочерние пространства имен были видны автоматически. Так нельзя. Это by design.
Нет, речь про другой using, который не область видимости разрешает, а DLL-ки подключает. В общем, см. выше.
Re[6]: Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 11.09.03 11:06
Оценка:
B>в C# делается Reference в проекте, и они тоже рекурсивно не подключаются
Ага!
А вообще, странно получается: пользуюсь я чей-то сборкой (с библиотекой внутри). Понятно, что её надо подключить. Но приходится смотреть, что подключала она сама и к своей проге все ссылки прикручивать. Жуть.
Re[7]: Вложенные #using <... . dll>
От: Banch  
Дата: 11.09.03 11:18
Оценка:
ну далеко не факт, что ты будешь использовать все, что использует та библиотека
Re[8]: Вложенные #using <... . dll>
От: Umaxik Россия  
Дата: 11.09.03 11:33
Оценка:
Здравствуйте, Banch, Вы писали:

B>ну далеко не факт, что ты будешь использовать все, что использует та библиотека


Мне та библиотека вообще не нужна. Но компилятор ругается и говорит, что тот тип не определён. И даже говорит, какую сборку мне надо подключить.
Re[9]: Вложенные #using <... . dll>
От: Miem Россия  
Дата: 11.09.03 12:15
Оценка: 2 (1)
Здравствуйте, Umaxik, Вы писали:

U>Мне та библиотека вообще не нужна. Но компилятор ругается и говорит, что тот тип не определён. И даже говорит, какую сборку мне надо подключить.


Если та библиотека (сборка 3) у тебя не используется, т.е. она чисто для внутреннего пользования во 2-й сборке, то на нее в 1-й сборке ссылаться не надо. Но в твоем случае в 3-ей сборке есть базовый тип для класса, описанного во 2-й сборке и который ты используешь в 1-й сборке. Значит тебе непоредственно нужна, ссылка на 3-ю сборку, т.к. в противном случае нет половина необходимых метаданных о классе.
... << RSDN@Home 1.1 beta 2 >>
ICQ: 446240
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.