Ich baue n C# ausführbare Datei, die als eine 32-Bit-Anwendung (aufgrund anderer Umgebungseinschränkungen) erstellt werden muss. Als Post-Build-Schritt verwende ich editbin.exe \LARGEADDRESSAWARE
, damit die 32-Bit-Anwendung mehr als 2 GB Arbeitsspeicher verwenden kann. obwohl ich bemerkt habe, dass dies die Validierung des starken Namens durchbricht.Starke Namensvalidierung schlägt nach dem Aktivieren von LARGEADDRESSAWARE fehl
Vor dem editbin.exe
Befehl ausführen betreibe ich sn.exe -vf
den starken Namen zu überprüfen:
sn.exe -vf [my exe]
Der Ausgang: Assembly '[my exe]' is valid
Dann editbin.exe /LARGEADDRESSAWARE [my exe]' which just exits without any message. I verify that it's enabled to use more than 2GB by checking the headers via
dumpbin/headers [meine exe] `Ich betreibe.
schließlich erneut ausführen ich den sn.exe
Befehl und erhalten die folgende Ausgabe:
Failed to verify assembly -- Strong name validation failed for assembly '[my exe]'
.
Irgendwelche Ideen, wie ich die Funktionalität von LARGEADDRESSAWARE aktivieren kann, ohne die Überprüfung des starken Namens zu unterbrechen?
Über die Kommandozeile mit 'sn.exe' nehme ich an? – Fizz
Ja, sn.exe kann sowohl starke Namen zuweisen als auch überprüfen, wie Sie es tun. –