Wo ist GACUTIL für .net Framework 4.0 in Windows 7?

79

Ich habe eine Assembly im .net-Framework erstellt, die ich im GAC veröffentlichen gacutilmöchte, aber ich kann die Utlity nicht finden .

Ich habe eine Weile gegoogelt und viele Vorschläge gefunden, aber nichts funktioniert:

  • Kopieren Sie die Assemby nach% window% \ Assemby [DOES NOT WORK]
  • Kopieren Sie die Assembly nach% window% \ Microsoft.NET \ Assembly [DOES NOT WORK]
  • C: \ Programme \ Microsoft SDKs \ Windows \ v6.0A \ Bin \ gacutil.exe / i "Assembly" [returns an error: this assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded]

Hat jemand eine Idee, dies zu lösen?

Flavio Oliveira
quelle

Antworten:

73

Wenn Sie VS2010installiert haben, sollten Sie einen .NET 4.0-Gacutil unter finden

C: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

Das 7.0A Windows SDKsollte neben VS2010 - 6.0Ainstalliert worden sein, wurde mit installiert VS2008und hat daher keine .NET 4.0-Unterstützung.

Ade Stringer
quelle
15
Wenn Sie ein 64-Bit-System verwenden, wird es C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin \ NETFX 4.0-Tools sein
Daniel Cai
Hmm, so scheint es. Windows SDK 7.1 ist als 64-Bit verfügbar, aber es scheint, dass 7.0 nur 32-Bit war. Seltsam, ich dachte, ich hätte den Dateipfad aus dem Windows Explorer direkt in meinen Kommentar kopiert.
Ade Stringer
36

VS 2012/13 Win 7 64 Bit gacutil.exe befindet sich in

C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0 Tools
Navarra
quelle
Dies scheint auch für Visual Studio 2013 zu gelten
Erk
23

In der .net 4.0-Standardinstallation ist kein Gacutil enthalten. Sie haben auch den GAC von% Windir% \ Assembly nach% Windir% \ Microsoft.NET \ Assembly verschoben.

Sie haben sich nicht einmal die Mühe gemacht, eine "spezielle Ansicht" für den Ordner im Windows Explorer hinzuzufügen, wie dies für den .net 1.0 / 2.0 GAC der Fall ist.

Gacutil ist Teil des Windows SDK. Wenn Sie es also auf Ihrem Entwicklungscomputer verwenden möchten, installieren Sie einfach das Windows SDK für Ihre aktuelle Plattform. Dann finden Sie es irgendwo wie folgt (abhängig von Ihrer SDK-Version):

C: \ Programme \ Microsoft SDKs \ Windows \ v7.0A \ bin \ NETFX 4.0 Tools

Hier wird über das neue GAC diskutiert: .NET 4.0 hat ein neues GAC, warum?

Wenn Sie etwas in GAC auf einem Produktionscomputer installieren möchten, müssen Sie dies mit einem Windows-Installationsprogramm auf die "richtige" Weise tun (gacutil war nie als Tool zum Installieren von Inhalten auf Produktionsservern gedacht, sondern nur als Entwicklungstool). oder mit anderen Werkzeugen. Sie können dies z. B. mit PowerShell und der System.EnterpriseServices-DLL tun.

Auf einer allgemeinen Kenntnis, und aus mehrjähriger Erfahrung kommen, würde ich persönlich empfehlen dringend , gegen GAC überhaupt verwenden. Ihre Anwendung funktioniert immer, wenn Sie die DLL auch für jede Anwendung in ihrem Bin-Ordner bereitstellen. Ja, Sie erhalten mehrere Kopien der DLL auf Ihrem Server, wenn Sie beispielsweise mehrere Webanwendungen auf einem Server haben. Es lohnt sich jedoch auf jeden Fall, eine Anwendung zu aktualisieren, ohne die anderen zu beschädigen (indem Sie eine inkompatible Version der freigegebenen Version einführen DLL im GAC).

Erik A. Brandstadmoen
quelle
5

Es gibt jetzt tatsächlich ein GAC-Dienstprogramm für .NET 4.0. Es befindet sich im Microsoft Windows 7- und .NET 4.0-SDK (das SDK unterstützt mehrere Betriebssysteme - nicht nur Windows 7 - wenn Sie also ein späteres Betriebssystem von Microsoft verwenden, stehen die Chancen gut, dass es unterstützt wird).

Dies ist das SDK . Sie können die ISO herunterladen oder eine Webinstallation durchführen. Eine Art Overkill, um das Ganze herunterzuladen, wenn Sie nur das GAC Util wollen. es funktioniert jedoch.

ManiacCoder
quelle