Wo ist gacutil.exe?

120

Ich verwende Windows 7 Enterprise 32 Bit. Ich habe die Windows-Befehlszeile und auch die VSTS 2008-Befehlszeile verwendet, aber bei der Ausführung von gacutil.exe wurde der Befehl nicht gefunden.

Ich frage mich, ob ich gacutil.exe von irgendwoher installieren muss oder ob gacutil.exe sich irgendwo anders auf meinem Computer befindet (ich habe meinen Computer durchsucht, aber mehrere Dateien mit dem Namen gacutil.exe gefunden, ich weiß nicht, welche verwendet werden soll). ?

Übrigens: Ich benutze .Net 3.5.

George2
quelle
Siehe meine Antwort unter ... stackoverflow.com/questions/25154024/…
Dooie
Sie können einfach nehmen drei Dateien: gacutil.exe, gacutil.exe.config, und gacutlrc.dllvon einem PC , auf dem gacutilbereits installiert ist.
Ant_222

Antworten:

153

gacutil wird mit Visual Studio geliefert, nicht mit VSTS. Es ist Teil des Windows SDK und kann separat unter heruntergeladen werden http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=de . Diese Installation wird gacutil.exeenthalten sein. Aber überprüfen Sie es zuerst hier

C: \ Programme \ Microsoft SDKs \ Windows \ v6.0A \ bin

Möglicherweise haben Sie es installiert.

Wie @devi erwähnt

Wenn Sie Gacutil-Dateien aus einer vorhandenen Installation abrufen möchten, beachten Sie, dass in .NET 4.0 drei Dateien vorhanden sind: gacutil.exe gacutil.exe.config und 1033 / gacutlrc.dll

Andrey
quelle
7
Vorsicht "nur" ein Gig in der Größe (der Download)
Roundcrisis
4
Hier ist der Link zum .NET 4.0-Download: microsoft.com/en-gb/download/details.aspx?id=8279
Matt Wilko
10
Wenn Sie sich entscheiden, Gacutil-Dateien aus der vorhandenen Installation abzurufen, beachten Sie, dass aus .NET 4.0 drei Dateien bestehen: gacutil.exe gacutil.exe.config und 1033 / gacutlrc.dll
gdbdable
8
Und natürlich wird bei einer 64-Bit-Version des Betriebssystems der Pfad geringfügig geändert, z. B. unter Windows 2012 Server unter C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v8.1A \ bin \ NETFX 4.5.1 Tools
Dijkgraaf
68
  1. Öffnen Sie die Entwickler-Eingabeaufforderung.
  2. Art

wo gacutil

Nikita
quelle
Warum hat dies so viele positive Stimmen, wenn die typische Person, die diese Frage stellen würde, diejenige ist, die sie stellen muss, weil sie sich nicht in einem Umgebungspfad befindet: /
Thomas Harris
5

Sie können die Version in Windows SDK verwenden, aber manchmal ist sie möglicherweise nicht dieselbe Version von .NET Framework, die Sie verwenden. Daher wird der folgende Fehler angezeigt:

Microsoft (R) .NET Global Assembly Cache-Dienstprogramm. Version 3.5.21022.8 Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten. Fehler beim Hinzufügen einer Assembly zum Cache: Diese Assembly wird von einer Laufzeit erstellt, die neuer als die aktuell geladene Laufzeit ist, und kann nicht geladen werden.

In .NET 4.0 müssen Sie in Microsoft SDK v8.0A suchen, z. B.: C: \ Programme (x86) \ Microsoft SDKs \ Windows \ v8.0A \ bin \ NETFX 4.0-Tools (in meinem Fall habe ich nur die 32-Bit-Version von Visual Studio 2012 installiert).

Tiago Dias
quelle
2
Warum begräbt Microsoft dies an einem so dunklen Ort? Mein Visual Studio 2010 hatte eine Abkürzung zur Eingabeaufforderung, aber Visual Studio 2013 hat diese und es gibt keine Menüoption in der IDE (unter Tools, wo ich es erwarten würde), um die Eingabeaufforderung zu öffnen. Es fühlt sich so an, als ob das Ökosystem des Visual Studio-Entwicklers zu einem Chaos geworden ist.
Sam Goldberg
Meine Instanz von VS 2013 hat es unter Extras-> Visual Studio-Eingabeaufforderung. Schau es dir noch einmal an. (Ich hätte nie gedacht, dort zu suchen, aber für Ihren Vorschlag, also danke; hoffe, das hilft.)
Donald Locker
2

Unter Windows 2012 R2 können Sie Visual Studio oder SDK nicht installieren. Sie können Powershell verwenden, um Assemblys in GAC zu registrieren. Es brauchte keine spezielle Installation für mich.

Set-location "C:\Temp"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Temp\myGacLibrary.dll")

Wenn Sie den Namen und PublicKeyToken benötigen, lesen Sie diese Frage.

ritikaadit2
quelle