Zitat: |
Dann habe ich mit dotpeek alle Referenzen geprüft und all sind .Net 3.5 oder niederer AUSER die newtonsoft Libary die ist .Net 4.0. |
Wenn du dir im Disassembler die Assembly Attribute angeschaut hast dann hat die AssemblyVersion keinen Bezug zur Runtime.
In der aktuelle Assembly von Newtonsoft steht
[assembly: AssemblyVersion("4.5.0.0")]
[assembly: AssemblyFileVersion("5.0.8.16617")]
[assembly: AssemblyTitle("Json.NET .NET 2.0")]
nichts davon hat aber Bezug darauf gegen welche Runtime die kompiliert wurden. Vermutlich steht in allen Compilaten egal welche du dir anschaust (2,3,3.5,4, 4.5) eh das gleiche. Microsoft hält das bei seien Assemblies synchron das ist aber nur nett und keine zwingende Aussage. Relevant wäre ein TargetFramework Attribut wenn es denn da wäre aber hier nicht vorhanden ist.
Zitat: |
Doch meine ouput dll war immer 3.5 bis ich newtonsoft benutz habe. Ich habe die newtonsoft .Net 3.5 benutzt und meine ouput .dll wurde plötzlich .Net 4.0. Welche dann zum Import-Module von Powershell dann ohne der bestimmten config Datei nicht funktioniert. |
Wenn in den Projektoption 3.5 steht wird es auch 3.5 sein. Bist du dir sicher das sich auch hier nicht einfach nur die Versionsnummer geändert hat und nicht das TargetFramework? Powershell kenne ich nicht gut genug um zu sagen ob es da irgendeinen Zusammenhang zu den Versionsnummern der Assemblies gibt. Das wäre aber dumm zum Beispiel die Microsoft eigenen Assemblies also die die mit Microsoft beginnen und nicht mit System weil sie sich auf Windowsspezifika beziehen laufen mit Versionnummeren 11,12,13 etc. rum. Wäre blöd wenn die Powershell über die weinen würde.