Hallo zusammen,
habe da mal wieder ein komisches Problem.
Jedenfall verwende ich eine .dll (Framework 2.0) die nun von einem mit VS2010 (Framework 4.0) erstellten Programm ausgeführt werden soll.
Doch leider scheint die .dll nun auch auf Framework 4 zuzugreifen, was einen Fehler nach sich zieht.
Dachte eigentlich dass immer das Framework herangezogen wird unter dem das Programm, die .dll erstellt wurde. Aber wie es scheint verwendet die .dll das Framework der Anwendung!????
Die .dll kann ich nicht ändern.
Hat jemand einen Tipp wie es zu schaffen ist, dass die .dll das entsprechende Framework (2.0) verwendet. Oder was da eigentlich abgeht?
Tina
Dachte eigentlich dass immer das Framework herangezogen wird unter dem das Programm, die .dll erstellt wurde
Richtig, das legst du mit TargetFramework fest und damit ist das Thema auch abschliessend beendet.
Doch leider scheint die .dll nun auch auf Framework 4 zuzugreifen
Nein. Was bringt dich auf die Idee das dem so ist?
Das ist nicht ganz richtig.
Es wird das Framework benutzt, das die startende Assembly benutzt, und das ist bei deinem Program dann wohl 4.0.
Hi FZelle,
stimmt so ist das wohl.
Wie ist es möglich der .dll zu sagen nimm das andere (richtige Framework) Framework?
Tipps für Lösungsansätze?
In-Process Side-by-Side Execution
Wäre es nicht sinnvoller den Fehler der Lib zu beheben?
Welche ist das und welcher Fehler kommt?
Hi,
die Fehlermeldung:
Der Typ oder Namespacename konnte nicht gefunden werden (Fehlt using oder Assembly)
Warnung:
Die Assenbly auf die verwiesen wird konnte nicht aufgelöst werden, da sie Abhängigkeit von System.Web Version 4.0.0.0 ... Entfernen sie verweise auf im zielframework nicht enthaltene assembly's oder weise das Projekt neu zu.
--> Verweis und Using direktive habe ich gesetzt, ab diesem Zeitpunkt kommt die Fehlermeldung - wenn ich die .dll
in ein testprojekt unter VS2008 einbinde funktioniert das ganze problemlos.
Wie gesagt Tipps sind immer willkommen
Tina
Du hast nicht das FW 4 sondern das FW4 Clientprofile ausgewählt, und das beinhaltet eben System.Web nicht.
Hi FZelle,
Super. Das war das Problem.
Jetzt kann ich die .dll verwenden.
Vielen, vielen Dank
Tina
Hi FZelle,
sorry, dass ich so doof Frage.
Aber wie hast du das heraus bekommen? Ich suche schon seit Tagen.
Wäre echt nett von dir wenn du's kurz erklären könntest.
Tina
Wenn du unter VS 2010 ein neues Projekt erstellst, ist die Einstellung standardmäßig .NET Framework 4 Client Profile, deshalb war das wohl die naheliegendste Vermutung.
Wir wollten unser Projekt bei Einführung von VS.NET 2008 aufs fw 3.51 umstellen.
Ich habe aber immer für das Password hashing die funktion FormsAuthentication.HashPasswordForStoringInConfigFile Method benutzt.
Dafür hätte ich in den installer das volle fw einbauen müssen, denn auch da war es schon so das alles um Web nicht im Clientprofile war.
Hallo aadler,
Wenn du unter VS 2010 ein neues Projekt erstellst, ist die Einstellung standardmäßig .NET Framework 4 Client Profile
Ist nicht ganz korrekt -> siehe VS 2010 - Default .NET Client Profile Framework
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"