Unterschiede zwischen Assemblyreferenzen

8

Auf einigen Maschinen nach dem Hinzufügen der Referenz zur Assembly in csproj wurde das nächste Tag generiert.

%Vor%

Aber auf einigen Maschinen generierte Referenz mit Version, Kultur, Token und Prozessorarchitektur:

%Vor%

Warum ist das?

    
user1875783 04.12.2012, 13:18
quelle

3 Antworten

1

Aus msdn extrahiert:

  

Die Prozessorarchitektur wird der Assemblyidentität in .NET hinzugefügt   Framework Version 2.0, um prozessorspezifische Versionen von   Baugruppen. Sie können Versionen einer Assembly mit ihrer Identität erstellen   unterscheidet sich nur durch Prozessorarchitektur, zum Beispiel 32-Bit und 64-Bit   prozessorspezifische Versionen. Prozessorarchitektur ist nicht erforderlich   für starke Namen. Weitere Informationen finden Sie unter   AssemblyNameProcessorArchitecture. In diesem Beispiel das vollständig   Der qualifizierte Name gibt an, dass die myTypes-Assembly einen starken Namen hat   mit einem öffentlichen Schlüsseltoken, hat den Kulturwert für amerikanisches Englisch und hat   eine Versionsnummer von 1.0.1234.0. Seine Prozessorarchitektur ist "MSIL",   was bedeutet, dass es Just-In-Time (JIT) -kompiliert zu 32-Bit-Code wird   oder 64-Bit-Code je nach Betriebssystem und Prozessor.

     

Code, der Typen in einer Assembly anfordert, muss einen vollständig qualifizierten Code verwenden   Assemblyname. Dies wird als vollständig qualifizierte Bindung bezeichnet. Teilweise   Bindung, die nur einen Assemblynamen angibt, ist nicht zulässig, wenn   Referenzieren von Assemblys in .NET Framework.

     

Alle Assemblyverweise auf Assemblys, die das .NET Framework bilden   muss auch einen vollständig qualifizierten Namen der Assembly enthalten. Beispielsweise,   Referenzieren der System.Data .NET Framework-Assembly für Version 1.0   würde einschließen:

Siehe mehr in der Quelle:

Ссылка

    
Carlos Landeras 04.12.2012 13:22
quelle
1

Diese Zeilen helfen Ihrer Anwendung nicht, die richtige Referenz zu finden oder einen vollständig qualifizierten Assemblynamen zu erstellen. Diese Zeilen helfen Visual Studio, die Referenz zu finden. Wahrscheinlich werden Sie diese Zeilen nur finden, wenn VS Probleme hatte, die zu ladende DLL zu identifizieren.

Dies ist, ich weiß, nicht die Antwort, die Sie erwarten :) aber ich hoffe, dass es Ihnen helfen kann, in der richtigen Richtung zu suchen.

    
Rafa 04.12.2012 15:53
quelle
0

Ich bin nicht 100% sicher, aber gemäß dem üblichen Verhaltensmodell von .NET Assemblies erhalten Sie im zweiten Fall eine detaillierte Beschreibung (vollqualifizierter Name) der referenzierten Assembly, da < em> mehr als eine Version der Assembly auf der Maschine.

Auf diese Weise weiß der Compiler, auf welche Assembly genau in Ihrem Projekt verwiesen wird.

    
Tigran 04.12.2012 13:22
quelle