我创建了一个托管DLL(检查文件哈希)。 但是,我的意图是只有在实际检测到它时才使用它 My.Computer.FileSystem.FileExists检查(它是单独分发的),否则,DLL函数不被调用。
如果没有程序抱怨缺少引用,我怎么能这样做呢 DLL不在吗?
这是主叫行:
If My.Computer.FileSystem.FileExists(My.Application.Info.DirectoryPath & "\Addin.dll") Then
If AddIn.CheckOps.Checking.CheckLibHashes = False Then
MsgBox("Cannot load the Commercial Addin. Error message: bad file checksum" & vbCrLf & "Please re-install program and the Addin.", MsgBoxStyle.Critical)
Else
CommercialToolStripMenuItem.Visible = True
End If
Else
CommercialToolStripMenuItem.Visible = False
End If
谢谢!
答案 0 :(得分:4)
不要在项目中添加对DLL的引用。 您需要的是动态加载托管DLL。
如果您的DLL存在,请使用
加载它System.Reflection.Assembly oMyDLL = Assembly.LoadFrom(szDLL_FilePath);