WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   .NEt komponent får 80070002 i klassisk ASP (https://www.wn.se/forum/showthread.php?t=1061316)

fiend 2014-03-26 12:22

.NEt komponent får 80070002 i klassisk ASP
 
Hej!

Har ett litet problem som jag har kämpat med nu i flera månader, men inte verkar få till.
Jag har byggt ett projekt i .NET och skapat en com-komponent som jag kan använda mig utav i den klassiska ASPn.
Denna komponent bygger på iTextSharp.
När jag utvecklar denna så funkar den superbra lokalt. Inte det minsta problem att ladda den via klassiska ASPn i den klass som jag lagt den i.

Däremot, när jag kopierar över projektets DLLer och uppdaterar på den skarpa servern så får jag felmeddelandet "error '80070002'" för denna sida på raden där CreateObject är.

Någon som har en teori?

Det jag har testat hittills är:

- regasm /tlb och /codebase
- flyttat den kod som körs till en annan klass (blir samma fel).
- kikat i registret för att se skillnader, vilket det fanns, men jag ändrade så att registret såg likadant ut lokalt såväl som på servern
- Thrust Levels är samma på servern som lokalt.
- Samma inställningar i applikationspoolerna

Alla DLLerna ligger precis där de ska precis som de ska göra lokalt.

Övrigt så funkar projektet fel och andra klasser kan jag skapa objekt till, men inte denna PDF-klass där jag använder mig utav iTextSharp

Så som jag förstått det så är error '80070002' ett fel som genereras för att någon fil inte kan hittas(?).

Stort tack på förhand om någon har nån teori?

Mvh Fredrik

Conny Westh 2014-03-26 13:35

Varför använder du COM-objekt i en .NET-miljö? COM-objekt är inte kompatibla med .NET-objekt!

Bygg om COM-objektet till ett .NET-objekt i stället.

fiend 2014-03-26 13:57

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20488967)
Varför använder du COM-objekt i en .NET-miljö? COM-objekt är inte kompatibla med .NET-objekt!

Bygg om COM-objektet till ett .NET-objekt i stället.

Vet inte om jag var otydlig tidigare kanske.
Jag använder .COM-objektet (byggt i ett .NET-projekt) i en klassisk ASP-miljö :)
Enda sättet för mig att komma åt funktionaliteten som är byggd i .NET är via DLLen som ett .COM-objekt via server.createobject i klassiska ASPn.

Conny Westh 2014-03-26 18:06

Förstår jag dig rätt om du har byggt ett objekt i .NET-miljön, dvs ett NET-objekt (och sedan ställt in det så det blir COM-visible) som du sedan försöker använda i en gammaldags ASP miljö (dvs EJ i ASPX)?

fiend 2014-03-26 18:11

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20488991)
Förstår jag dig rätt om du har byggt ett objekt i .NET-miljön, dvs ett NET-objekt (och sedan ställt in det så det blir COM-visible) som du sedan försöker använda i en gammaldags ASP miljö (dvs EJ i ASPX)?

Helt rätt! :) så ligger det till.
i aspx så funkar allt klockrent. Men det är när min com visible-pryl i den gamla ASP-koden ska skapas som det blir fel.
Har en annan klass som funkar klockrent i ASPn.
Kopierar jag koden från den klass (+ imports) som innehåller PDF-koden som jag skrivit så får jag samma fel i den klassen som tidigare fungerat.

Conny Westh 2014-03-26 18:18

Då blir det lite lättare att förstå vd du vill göra.

Kolla på denna tutorial och kolla om du glömt något:

http://bruceburge.com/2009/06/11/sha...ic-and-aspnet/

fiend 2014-03-26 20:39

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20488995)
Då blir det lite lättare att förstå vd du vill göra.

Kolla på denna tutorial och kolla om du glömt något:

http://bruceburge.com/2009/06/11/sha...ic-and-aspnet/

Jag har följt den och allt verkar OK. Har inte gjort ett projekt tidigare med DLL-setupen, men jag gjorde det nu. Smidigt, men det funkar ändå inte.
Det kniviga är att den klassen som jag har som heter "XXX" funkar, men inte den som heter "YYY". Den ger felmeddelandet.
Kopierar jag koden från YYY -> XXX så slutar XXX att funka.

AmnisJonas 2014-03-27 11:08

Kan du testa med depends.exe?

Tror att den finns på http://dependencywalker.com/

Något annat att kolla på kan vara 64-bitars eller 32-bitars problem.

Conny Westh 2014-03-27 11:21

Har du glömt att registrera den ny COM-DLLen med regsvr32 (om det är en 32-bitars app du skapar?

Har du gjort ett installationsprogram för att installera programet eller kör du br i utvecklingsmiljön?

Har du kollat att referensen till DLLen är med i EXE-filsprojektet?

Du kanske ska prova att kopiera projektfilerna för XXX-projektet till en helt ny katalog som du kallar XYZ och sen byter du ut de enskilda filerna i projektet till de från YYY-projektet. Det kan ju vara så att själva projektfilerna i YYY-projektet har fel inställningar.

Funkar inte det så skapa ett helt nytt projekt och lägg in källkodsfilerna från YYY för ibland kan projektfilerna vara fel om man meckat mycket med dem.

fiend 2014-03-27 16:24

Citat:

Ursprungligen postat av AmnisJonas (Inlägg 20489042)
Kan du testa med depends.exe?

Tror att den finns på http://dependencywalker.com/

Något annat att kolla på kan vara 64-bitars eller 32-bitars problem.

Jag har testat den, men den säger mig inte så mycket om jag ska vara ärlig :/
Är inte så haj på exakt allt som den fick fram.

fiend 2014-03-27 16:28

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20489043)
Har du glömt att registrera den ny COM-DLLen med regsvr32 (om det är en 32-bitars app du skapar?

Har du gjort ett installationsprogram för att installera programet eller kör du br i utvecklingsmiljön?

Har du kollat att referensen till DLLen är med i EXE-filsprojektet?

Du kanske ska prova att kopiera projektfilerna för XXX-projektet till en helt ny katalog som du kallar XYZ och sen byter du ut de enskilda filerna i projektet till de från YYY-projektet. Det kan ju vara så att själva projektfilerna i YYY-projektet har fel inställningar.

Funkar inte det så skapa ett helt nytt projekt och lägg in källkodsfilerna från YYY för ibland kan projektfilerna vara fel om man meckat mycket med dem.

Den nya DLLen är samma eftersom det är i samma projekt :)
Själva itextsharp-dllen går inte registrera och jag gissar att den inte ska registreras med regsvr32?

Jag har både testat göra installationsprogram, men i övrigt reggar jag via regasm och gacutil.

exe-filsprojektet?

Ska testa att lägga ut allt i ett helt nytt projekt, kompilera om det projektet och se ifall det funkar bättre. :)

Conny Westh 2014-03-28 11:13

Citat:

Ursprungligen postat av fiend (Inlägg 20489079)
Den nya DLLen är samma eftersom det är i samma projekt :)
Själva itextsharp-dllen går inte registrera och jag gissar att den inte ska registreras med regsvr32?

Jag har både testat göra installationsprogram, men i övrigt reggar jag via regasm och gacutil.

exe-filsprojektet?

Ska testa att lägga ut allt i ett helt nytt projekt, kompilera om det projektet och se ifall det funkar bättre. :)

Du kör ju ASP kom jag tt tänk på.... då har man ju ingen exe-fil...

Men vad jag menar är att du ska börja med att bygga ett exe-filsprojekt som använder COM i stället för NET för att få bättre debuggingmöjligheter.

När du väl får COM-DLLen tt fungera med en EXE-fil så vet du tt det inte är fel på DLLen, utan då är det något annat fel.

Reager 2014-03-31 13:24

Värt att tänka på är också att om du kör 64-bits Windows att ställa om din applikationpool så att den kör i 32-bitars-läget. Annars kommer det inte att fungera. (är min erfarenhet ivf)

fiend 2014-04-02 15:09

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20489121)
Du kör ju ASP kom jag tt tänk på.... då har man ju ingen exe-fil...

Men vad jag menar är att du ska börja med att bygga ett exe-filsprojekt som använder COM i stället för NET för att få bättre debuggingmöjligheter.

När du väl får COM-DLLen tt fungera med en EXE-fil så vet du tt det inte är fel på DLLen, utan då är det något annat fel.

Har inte riktigt de erfarenheterna av att varken skapa .exe-filer eller att debugga dem tyvärr :/

fiend 2014-04-02 15:11

Citat:

Ursprungligen postat av Reager (Inlägg 20489386)
Värt att tänka på är också att om du kör 64-bits Windows att ställa om din applikationpool så att den kör i 32-bitars-läget. Annars kommer det inte att fungera. (är min erfarenhet ivf)

Applikationspoolen är inställd på att kunna köra 32bitars applikationer japp. Det har jag kollat och det har den alltid varit :) tack iaf!

fiend 2014-04-02 15:12

Har nu lagt över hela koden i klassen i ett helt nytt projekt och registrerat en helt ny DLL.
Funkar utmärkt att anropa via ASPn på min utvecklingsserver http://localhost/ men på den skarpa servern så blir det precis exakt samma felmeddelande som i mitt huvudprojekt :/
Argh, funkade inte att separera ut hela koden i ett eget projekt heller..

fiend 2014-04-08 09:40

Någon som har någon fler teori? :/ frustrerande detta.


Alla tider är GMT +2. Klockan är nu 07:53.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson