использование функций и классов в другом проекте vb.net - PullRequest
5 голосов
/ 12 марта 2012

Я реорганизую свой VB-проект на 2 проекта, один из которых представляет собой служебную библиотеку, которой я хочу поделиться с будущими проектами. Схема моего решения выглядит следующим образом:

Solution
|_ util
   |_ util.vb
|_ main project
   |_ (main project files)

Утилита создается как библиотека классов, а файлы-члены добавляются в нее. Затем я добавил util в ссылки на основной проект. Однако, когда я пытаюсь вызвать функции в util.vb из моих основных файлов проекта, я получаю ошибки сборки, такие как:

error BC30451: Name 'LogException' is not declared.
error BC30002: Type 'VarFile' is not defined.

Они определены в util.vb, и он прекрасно скомпилировался, когда был частью основного проекта. Объявления выглядят так: (Я обрезал детали)

Imports System.IO

Public Module utils

    Public Sub LogException(ByRef ex As Exception, Optional ByVal logFile As String = "", Optional ByVal logFolder As String = "")
' ...
    End Sub    

    Public Class VarFile
          ' ...
     End Class
End Module

Я могу добавить util.vb "как ссылку" в основной проект, и он решит все ошибки сборки, но это, похоже, лишает цели рефакторинга библиотеки классов - я хотел бы разработать эту библиотеку отдельно, и Не всегда нужно отслеживать ссылки на файлы, которые я не добавил в свой основной проект. Есть ли лучший способ, чем этот?

Ответы [ 2 ]

4 голосов
/ 12 марта 2012

создайте проект dll и сделайте его своей библиотекой, затем добавьте ссылку на него из основного проекта.все это придет под одним решением.Также установите порядок сборки.Используйте Imports для использования функции, аналогичной Imports System.IO

2 голосов
/ 12 марта 2012

Механизм, который вы ищете, это ссылки.Щелкните правой кнопкой мыши на главном проекте и выберите «Добавить ссылку», выбрав свой проект Util на вкладке «Проекты».После этого не забудьте добавить объявления Imports, поскольку новый проект Util будет находиться в другом пространстве имен, чем ваш Main.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...