19. august 2004 - 14:29Der er
8 kommentarer og 1 løsning
byg com-objekt i .NET - og brug det i asp
Hey lads. Jeg har brug for at lave et COM objekt som kan anvendes fra vbscript + asp - og COM objektet skal laves i Visual Studio.NET (helst c#).
Jeg har så lavet et simpelt class library, markeret "Register for COM interop", og kompileret det, men jeg kan ikke finde ud af hvilket argument jeg skal smide efter Server.CreateObject() kaldet i asp..
Det er vel egentligt rimeligt simpelt, men jeg kan ikke rigtigt komme videre :-(
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Det mente jeg også, men problemet (og det glemte jeg vist at fortælle) er at regsvr32 kaldet fejler med en "could not find dllRegisterServer entry point" meddelelse - i virkeligheden er det vel den jeg skal forbi ?
erh.. det ligger derhjemme så jeg kan ikke vise dig det idag, men det jeg gjorde var 1) lav et classLibrary projekt i .NET (c#) 2) register for COM interop 3) indsæt StrongName file i assemblyinfo 4) build release 5) forsøgte at registrere dll'en - men det fejlede
.. du skal ikke benytte regsvr32 til at registrere komponenten med - du kan i stedet benytte "regasm" som er den del af .NET frameworket.
Det argument du skal skrive til CreateObject er ProgId'et på dit objekt. I .NET er det typisk hele "namespace stien" til dit COM-objekt.
Hvis du f.eks har en .NET klasse "COMDimmer" der ligger i namespacet "TestCOM" vil ProgId'et være "TestCOM.COMDimmer"... hvis du er usikker på at det er det korrekte ProgId du benytter, så prøv at slå det op i registry..
wisen -> det prøvede jeg også - med succes - men registryet gir mig classId, ikke progId.. ihvertfal gav det stadig fejl i asp-siden, så jeg er lidt blank på hvordan jeg får progId'et.. jeg har også prøvet med namespace.className (som faktisk hedder COMTest, meget godt gættet :-), men det fejlede også :-(
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.