VB импорт функций DLL с условными типами сборки - PullRequest
1 голос
/ 11 июля 2011

Итак, я пытаюсь импортировать функцию из библиотеки, которую разрабатываю.У меня есть "libraryD.dll" для отладки и "library.dll" для выпуска.К сожалению, это означает, что я должен сделать это:

#If Debug
Declare Function someFunction Lib "library.dll" Alias "someFunc" () As Integer
#Else
Declare Function someFunction Lib "libraryD.dll" Alias "someFunc" () As Integer
#EndIf

Теперь это было бы хорошо, но для ВСЕХ 40 функций это сделало бы вещи очень уродливыми (и немного недружественными).чтобы сделать что-то вроде этого:

#If Debug
#Const dllName = "libraryD.dll"
#Else
#Const dllName = "library.dll"
#EndIf
Declare Function someFunction Lib dllName Alias "someFunc" () As Integer

Есть ли какой-нибудь способ сделать это в VB?: - (

TIA!

Ответы [ 2 ]

1 голос
/ 09 марта 2012

Вы просто делаете одну вещь ...

    Dim dllName as string
    #If Debug
    dllName = "libraryD.dll"
    #Else
    dllName = "library.dll"

    Declare Function someFunction Lib dllName Alias "someFunc" () As Integer

Это, безусловно, решит вашу проблему ...
Удачного кодирования ...:)

0 голосов
/ 09 марта 2012

Попробуйте использовать атрибут DLLImport:

#If Debug
 Const dllName = "libraryD.dll"
#Else
 Const dllName = "library.dll"
#EndIf

    <System.Runtime.InteropServices.DllImport(dllName)> Private Shared Function somefunction() As Integer
    End Function
...