Avatar billede smirnoff Nybegynder
14. september 2005 - 16:04 Der er 5 kommentarer og
1 løsning

ActiveX component i ASP

Hej

Jeg har et problem som jeg bare ikke kan forstå:

Jeg har i Visual Studio oprettet et VB projekt som jeg koder en dll i, denne dll ønsker jeg at kunne tilgå fra asp via

Server.CreateObject("MyLib.MyClass");

Det er lykkedes, ved at jeg har kompileret dll'en med flagget "Register for COM Interop", som gør at Visual Studio builder en COM wrapper til dll'en (COM vs .NET hokuspokus).

MEN - når jeg derefter tilføjer en metode til min dll's MyClass og rekompilerer, kan jeg stadig kun tilgå de metoder som var tilgengelige i først build. Hvorfor ??!

Jeg går udfra det er fordi den ikke opdaterer dll wrapperen .. men jeg har snart prøvet alle muligheder .. bl.a vhj. regasm, tlbexp og så videre ... jeg ved metoden er synlig i dll'en (har kigget i ildasm) .. men altså i bund og grund må det være et versionsspørgsmål ikke sandt ??

.. Håber I har et bud
Avatar billede softspot Forsker
14. september 2005 - 23:52 #1
Har du haft IIS lukket ned i mellemtiden, for den vil død og pine holde din DLL i live og mens den er aktiv kan du ikke opdatere den.
Avatar billede smirnoff Nybegynder
15. september 2005 - 08:17 #2
Ja det har jeg ... uden held :(
Avatar billede Slettet bruger
17. september 2005 - 08:16 #3
Hvis jeg ikke husker helt forkert - så opdaterer den versionsnummeret på COM DLL - kig i assembly.cs under version der står noget 1.0.* så den opdaterer ved kompilering. Det betyder at du får en masse versioner a COM DLL registreret under udvikling. Prøv at sætte version til noget statisk sålænge du udvikler på den så skulle det gerne fungerer.
Avatar billede smirnoff Nybegynder
17. september 2005 - 11:06 #4
det vil jeg prøve så snart jeg er på arbejde igen mandag
Avatar billede smirnoff Nybegynder
19. september 2005 - 08:57 #5
hmm - det lød som en god ide .. men det virker stadig ikke. Jeg har buildet dll'en en gang mere - testen den i et andet .NET projekt.. det virker godt nok. Men ligeså snart jeg forsøger med med at kalde den i et script (vhja new ActiveXObject og kaldt den både fra IIS og cscript) - ja så kan den ikke køre den metode jeg lige har sat ind...

Tilgengæld har jeg fået det til at virke unden at bruge "Register for COM Interop" overhovedet.. jeg builder en dll, tilføjer den som assemply til GAC, og kører regasm på den .. så virker det fint.
Avatar billede smirnoff Nybegynder
25. oktober 2005 - 08:17 #6
cec
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester