Obwohl 64-Bit-Versionen von Excel mindestens seit Excel 2007 verfügbar sind, ist die Hauptkomponente der Installationen immer noch eine 32-Bit-Version von Microsoft Excel.
Die meisten Add-In-Entwickler haben noch nie einen Geschäftsfall gefunden, der die Unterstützung für 64-Bit-Microsoft Office rechtfertigt. Microsoft hat im Laufe des Jahres 2010 seine Empfehlungen zur Verwendung von 64-Bit-Versionen von Office auf 32-Bit-Versionen geändert.
Der verfügbare Speicher für VSTO-Add-Ins variiert je nach Version, nimmt jedoch mit zunehmender Komplexität von Excel selbst ab.
Derzeit, mit 1,75 GB adressierbarem Speicherplatz, sowohl Excel und die .NET CLR geladen, können Sie maximal 250-300 MB für Ihren .NET-Code und Daten maximal verwenden. Der Garbage Collector erledigt die Aufgabe, alles in den adressierbaren Speicherbereich einzupassen, aber das reicht oft nicht aus.
Die Menge an verfügbarem und adressierbarem Speicher wird im Allgemeinen nicht durch die Verwendung einer 64-Bit-Windows-Version (die heute übliche Version) verbessert, und Windows wird mehr physischen oder virtuellen Speicher hinzugefügt. Dies ist eine Einschränkung des 32-Bit-Adressraumentwurfs.
Ab den Versionen von Mai 2016 hat Microsoft das Bit LARGEADDRESSAWARE in der Kopfzeile von Excel.exe festgelegt. Dies ermöglicht 32-Bit-Version von Excel genau wie zu alten 32-Bit-Versionen von Oracle und andere, um mehr als 2 GB Speicher zu adressieren.
Die knowledge base dokumentiert weiter, welche Versionen diese Möglichkeit bieten. Da Excel 2013 eingestellt wurde, sollten Sie im Wesentlichen eine neue Version von Excel 2016 in 32-Bit verwenden, um eine OutOfMemory-Ausnahme zu vermeiden.
Für Office365 Abonnenten, ist es empfehlenswert, einen Kanal zu wechseln, der 2016.
Obwohl für Excel dies erhöht den adressierbaren Speicherraum auf nur 3 GB, erhöht sich die Menge an Speicher, eine ausreichend aktuelle Version von Excel enthält Verfügbar für Ihren .NET-Code und Daten als VSTO von 250-300 MB bis 1250-1300 MB. Ein erstaunlicher Faktor 4-5 Erhöhung des verfügbaren Speicherplatzes.
Invantive Control zeigt den adressierbaren Speicherplatz im Fenster Hilfe -> Diagnose an.
Für Nicht-LARGEADDRESSAWARE Versionen von Excel es zeigt:
Aber für LARGEADDRESSAWARE Versionen es zeigt:
In Aktion mit mehr als 2 GB zugewiesen: