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 Class
Ja 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.