VB导入具有构建类型条件的DLL函数

时间:2011-07-11 17:24:41

标签: vb.net string dll constants

所以我正在尝试从我正在开发的库中导入一个函数。我有用于调试的“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 个答案:

答案 0 :(得分:1)

你只做一件事......

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

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

这肯定会解决你的问题...... 快乐的编码... :)

答案 1 :(得分:0)

尝试使用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