Laden...

.dll bestimmtes Framework benutzen

Erstellt von TinaQ vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.491 Views
T
TinaQ Themenstarter:in
166 Beiträge seit 2008
vor 13 Jahren
.dll bestimmtes Framework benutzen

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

Gelöschter Account
vor 13 Jahren

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?

F
10.010 Beiträge seit 2004
vor 13 Jahren

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.

T
TinaQ Themenstarter:in
166 Beiträge seit 2008
vor 13 Jahren

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?

F
10.010 Beiträge seit 2004
vor 13 Jahren

In-Process Side-by-Side Execution

Wäre es nicht sinnvoller den Fehler der Lib zu beheben?
Welche ist das und welcher Fehler kommt?

T
TinaQ Themenstarter:in
166 Beiträge seit 2008
vor 13 Jahren

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

F
10.010 Beiträge seit 2004
vor 13 Jahren

Du hast nicht das FW 4 sondern das FW4 Clientprofile ausgewählt, und das beinhaltet eben System.Web nicht.

T
TinaQ Themenstarter:in
166 Beiträge seit 2008
vor 13 Jahren

Hi FZelle,

Super. Das war das Problem.
Jetzt kann ich die .dll verwenden.

Vielen, vielen Dank
Tina

T
TinaQ Themenstarter:in
166 Beiträge seit 2008
vor 13 Jahren

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

U
208 Beiträge seit 2008
vor 13 Jahren

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.

F
10.010 Beiträge seit 2004
vor 13 Jahren

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.

.NET Framework Client Profile

6.911 Beiträge seit 2009
vor 13 Jahren

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!"