Ссылка Dll одного проекта в другой проект - PullRequest
3 голосов
/ 25 апреля 2011

У меня есть 2 проекта, один из которых построен на VB.NET, а другой - на C # .NET.Я хочу использовать определенные функции VB.NET в C # .NET и, следовательно, я добавил файл dll решения VB.NET в C # .NET в качестве справочного материала, просматривая dll из моей системы.

Скажите dllимя для VB.NET - myData.dll

В моем проекте на C # .NET я пытаюсь объявить его как пространство имен, то есть "используя myData;"и это дает мне ошибку «Тип или имя пространства имен не может быть найдено»

Я что-то упустил ??

1 Ответ

2 голосов
/ 25 апреля 2011

Подсказка о том, как организован ваш проект VB.NET.Есть соевые вещи, которые могут пойти не так, и вы, очевидно, не знаете о них, поэтому давайте выясним.

По нашей информации, dll добавлена ​​в качестве ссылки.

Скажите dllимя для VB.NET - myData.dll

Хорошо, так что это DLL, и вы ссылаетесь на нее.

объявляет ее как пространство имен, т.е. "using myData;"

Нет, вы НЕ объявляете "это как пространство имен".Вы говорите компилятору также искать в этом пространстве имен классы.Теперь вы НЕ говорите нам, действительно ли myData.dll содержит namespce myDAta.Это совершенно другая вещь.Вы можете обойтись без использования - если вы префикс каждого класса.Ничто в операторе using не ссылается на dll.

Это здорово, потому что VB.NET обернул вокруг другое имя и это myData.myData.Я не шучу.Возможно, вы забыли сделать классы общедоступными.

Чтобы узнать:

  • Откройте библиотеку DLL с помощью Object Btrowser (меню Visual Studio, «Вид», «ObjectBrowser»)и посмотрите, какое пространство имен и классы находятся в DLL.
  • Найдите и найдите класс, который вы хотите использовать, и посмотрите, что там написано.Вы можете быть удивлены тем, что такое классы и / или пространство имен.
...