Jag har ett problem med versioner av .Net Framework. Öppna upp ISS och högerklicka på Standarwebbplats eller underliggande noder, välj egenskaper och där ska finnas en flik som heter ASP.NET. Där kan du välja mellan de olika versionerna och ändra i konfigurationen. Jag har angett rätt version i IIS:en men jag antar att denna inte är inblandad då detta går som en tjänst på servern och komponenten anropas via COM. IIS:en borde inte vara inblandad i det fallet eller? det går rätt bra att konvertera från 1.1 till 2.0 Det är inte ett alternativ då komponenterna är del i en applikation som inte ska konveretras ännu En person beskriver i sin blogg liknande problem då han anropar COM-komponenter från ASP, och "by design" så verkar senaste .NET-versionen på maskinen användas. Jag hittade en lösning på detta. Man kunde skapa en konfigurationsfil som skulle ha samma namn som den exe som exekverades av tjänsten, i vilken man kunde ange vilken version av .Net Framework som skulle laddas. Jag trodde inte det skulle fungera då denna exe är unmanaged code men det gick i alla fall. Observera att detta är en något labil lösning (som dock verkar fungera just nu): om Versionsproblem med .Net
Jag har en server på vilken både .Net Framework 1.1 och 2.0 är installerat.
På denna server finns även en tjänst installerad (skriven i unmanaged C++) vars uppgift är att på klocka exekvera diverse COM-komponenter. Mitt problem är att när denna tjänst startar en .Net komponent som har ett COM-interface så nyttjar denna komponent .Net Framework 2.0 (vilket leder till ett fel) fast komponenten är skriven i .Net 1.1.
Min fråga är allstå om det finns någon som vet hur man kan se till att komponenten alltid går mot .Net Framework 1.1 och om denne någon då kan förklara detta för mig?
Tacksam för hjälp!Sv: Versionsproblem med .Net
Jag har själv hittat ett jättefel då jag kodar i 1.1 och min ISP har 2.0. Vissa funktioner verkar inte fungera i 2.0 den sk. "trust" (Required permissions cannot be acquired) nivån och allting ...tja fallerar. Jag har sökt lite på nätet om detta och det verkar vara ett vanligt problem som "tvingar" folk till att byta version och koda nytt. På vissa forum har jag märkt att en del är riktigt irriterade på microsoft. Tänkte själv ställa liknande fråga här om någon vet vad göra? Ska man byta ISP eller tvingas skriva om en helt ny webbportal eller kan man konvertera över 1.1 siten mot 2.0 på ett smart sätt? Allt går som en klocka när jag väljer 1.1 i ISS men ställer jag om den till 2.0 ...hmmm då är det inte lika kul längre :(
//MickeSv:Versionsproblem med .Net
Sv:Versionsproblem med .Net
läs denna
ladda ner cr1
http://webproject.scottgu.com/CSharp/Migration/Migration.aspxSv: Versionsproblem med .Net
Sv:Versionsproblem med .Net
Dessutom har jag för mig (kan inte hitta länk till det just nu, det var delvis pga detta som MS dumpade stöd för .NET 1.1 i Visual Studio 2005) att man inte kan ladda in flera olika versioner av .NET-framework i samma process. Typiskt att jag inte hitta länken, jag har för mig att jag t.o.m. har postat den här på pellesoft.
På http://groups.google.nl/group/microsoft.public.vsnet.ide/browse_frm/thread/8865dbfcd0d5dc82/1b22e7c43805f66f?tvc=1#1b22e7c43805f66f kan man läsa "And one process can only load one CLR runtime, we can not load .NET 1.1 and
NET 2.0 CLRs in one process in the same time, so in your scenario, you
application(EXE) will load .NET 1.1 or .NET 2.0 but not both in the mean
time. ".
Så det blir intressant då man har flera olika COM-komponenter som är skapade med olika versioner av .NET framework : de kommer alla att exekveras med samma .NET Framework!
Knivigt problem, så man blir tvungen att se till att de körs som separata processer, t.ex som Web Services eller COM+-komponenter (kan man styra .NET-version på en COM+-komponent eller blir det automatiskt det senaste?).
/Andreas
/AndreasSv: Versionsproblem med .Net
M.a.o. löste detta problemet:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<requiredRuntime version="v1.1.4322" />
<supportedRuntime version="v1.1.4322" />
</startup>
</configuration>Sv:Versionsproblem med .Net
1. Du vidareutvecklar din COM-komponent och konverterar den till .NET 2.0 eller
2. Du har ytterligare en COM-komponent exekveras av servicen som i sin tur är utvecklad för .NET 2.0
så kommer det att sluta att fungera eftersom man då försöker att använda .NET 2.0 assemblys i .NET 1.1.
Men som sagt; fungerer det just nu så kör på men vara bara medveten om att det är väldigt känsligt för förändringar.
/Andreas