VB.net standard versiossa ei näyttäisi olevan mahdollista tehdä .dll projektia eli dynaamisesti linkattavaa kirjastoa. Netissä näkyy olevan kuitenkin ohjeita tämän esteen kiertämiseksi:
1) Avaa tavallinen exe projekti
2) Poista form1
3) Lisää class moduli (esim MyClassName)ja laita siihen koodisi
4) Talleta ja poistu
5) Avaa notepad ja avaa projektistasi tiedosto .vbproj
alku näyttää tältä
<VisualStudioProject>
<VisualBasic
ProjectType = "Local"
ProductVersion = "7.10.3077"
SchemaVersion = "2.0"6) Etsi pari riviä ja muuta ne seuraavaksi:
OutputType = "Library"
StartupObject = ""
eli muutit projektin tyypin WinEXE:stä Libraryyn ja positit viitteen form1:een aloitusformina.
7) Save ja Build project, dll tiedosto ilmestyy bin halemistoon
(8) Sulje dll projektisi
9) Tee testiprojekti (Exe) jossa kokeilet kirjastoasi
10) Lisää referennsi :Project/add reference/Browse ja selaa edellä tehtyyn dll tiedostoon, OK
11) Tee Imports-lauseke ohjelmasi alkuu osoittamaan dll kirjastosi nimeä (ilman .dll)
12) Jos MyClassName:ssä määritelty funktio (esim MyFunction) oli muotoa Public Shared niin sitä käytetään näin: a = MyClassName.MyFunction(parametri)
13) Jos funktio ei ole shared, täytyy ensin tehdä ilmentymä ja käyttää sitä:
Dim MyObject as New MyClassName
a = myObject.MyFunction(parametrit)
''' Esimerkki Shared funktion käytöstä, soittaa wav ääntä
Imports Soittaja 'Soittaja.dll
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
clsSoittaja.PlayWAV("done.wav")
End Sub
End ClassJa se WAV soitto ohjelma:
'http://www.devx.com/vb2themax/Tip/19545
lainaus:
VB.net standard versiossa ei näyttäisi olevan mahdollista tehdä .dll projektia eli dynaamisesti linkattavaa kirjastoa. Netissä näkyy olevan kuitenkin ohjeita tämän esteen kiertämiseksi:
Ei niin koska Microsoft on ottanut opikseen ja haluaa välttyä siltä DLL helvetiltä mitä se on ollut.
Aihe on jo aika vanha, joten et voi enää vastata siihen.