Es ist ein seltsames Problem aufgetreten. Ich kann Visual Studio nicht starten und auch keine einfachen Befehle über die Eingabeaufforderung ausführen, da meine PATH-Variable anscheinend zu lang ist. Nun, da ich es mir anschaue, sehe ich, dass viele Unternehmen ihre Installationsverzeichnisse der PATH-Variablen hinzugefügt haben.
Ich habe mich gefragt, warum diese Firmen ihre Ordner zum Pfad hinzugefügt haben (vielleicht, um die Ausführung ihrer Programme zu vereinfachen?) Und welche notwendig sind und welche ich löschen kann. Kann ich die Programme nicht starten, wenn ich einige davon lösche? ( Folgendes ist aktuell im Pfad vorhanden)
PATH
... Was lässt Sie vermuten, dass es zu lang ist? Wirft VS einen Fehler aus? Welche Windows-Version verwenden Sie?ping
. Auch bei Visual Studio scheint dies keine Seltenheit zu sein . Es wurde auch hier erwähnt , dass das Limit für den PATH über die Kommandozeile bei 2000 liegt.The type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
Antworten:
Es ist möglich, die übermäßige Anzahl von Pfaden in den Umgebungsvariablen PATH zu reduzieren. Speichern Sie einfach die gesamte Zeile auf einem Notizblock, sichern Sie sie und entfernen Sie einige und testen Sie sie.
Die meisten von ihnen gibt es also, wenn für eine Verknüpfung kein vollständiger Pfad für das "Ziel" festgelegt ist, wenn die Verknüpfung nicht richtig für "Start In" festgelegt ist oder wenn ein Start auf ungewöhnliche Weise durchgeführt wird, und ihre Teile und Teile immer gefunden. In den meisten Situationen ist es ausfallsicher. Sie möchten dennoch die Verwendung eines Programms, dessen Pfade Sie entfernt haben, vollständig testen.
Es ist auch sehr nützlich für Leute, die Befehle in CMDprompt eingeben, auch ohne CD. Der Computer durchsucht jeden Ort, bis ein Programm mit diesem Namen gefunden und ausgeführt wird. Oder irgendein anderes gleichnamiges Kommando :-)
Dieser Satz von Pfaden war (anchient) auf weniger als 255 (oder 260) Zeichen beschränkt, der vor einiger Zeit auf 1024 geändert wurde. Dann wurde er in der Server'03-Ära gepatcht, um 2048 zu handhaben, und er konnte angeblich sogar 8096 auf einigen Systemen handhaben vor langer Zeit.
Die wirklichen Einschränkungen, auf die Menschen heute stoßen, liegen im CMDprompt, das die Länge der Befehlszeichenfolge begrenzt, einschließlich der Erweiterung der Variablen und Pfade.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx hier sagt Microsoft:
An dieser Stelle verweisen sie auf die Registrierungsstelle, die die Systempfade enthält.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Den Rest müssen sie dort lesen.Die CMDprompt- und Batch-Beschränkung beträgt 2048 Zeichen, sobald sie erweitert wurden, und soll das 4-fache der neueren Systeme betragen.
Siehe auch http://support.microsoft.com/kb/830473 , in dem die Eingabeaufforderung und die Stapellänge für ältere Systeme erläutert werden.
Um sicherzustellen, dass die Einträge dort korrekt sind, hat das Wiki Folgendes zu sagen:
http://en.wikipedia.org/wiki/Environment_variable
All die zusätzlichen Pfade verlangsamen bestimmte Dinge um einiges, weil es dann gezwungen ist, an all diesen Stellen nachzuschauen, bevor es aufgibt. Die Verwendung vollständiger Pfade beim Aufrufen von Dateielementen ist immer schneller, auch beim Stapeln oder Verwenden von CMDprompt.
Die Verwendung alter DOSlike 8.3-Konventionen ist eine Möglichkeit, die Größe zu verkleinern. Dieser Stapel /programming//a/20362922 funktioniert gut. Stellen Sie (erneut) sicher, dass Sie die Originalzeichenfolge sichern. Siehe auch die anderen möglichen Lösungen zu dieser Frage.
So sieht meins aus, es war schlimmer.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Programme (x86) \ QuickTime \ QTSystem \
Ich würde die Quicktime augenblicklich rauswerfen, und AMDs Programme haben bereits einen erweiterten Pfad angegeben. Adobee hatte einen, keiner dieser Pfade war für Standardmethoden für GUI-Verknüpfungen / -Symbole von Bedeutung. Viele Dinge können entfernt werden, dann testen Sie alle Funktionen. Wenn Sie Dinge durch Eingabe der CMD-Eingabeaufforderung aufrufen, funktioniert das Entfernen dieser Pfade nicht.
quelle
Auf meinem Weg befinden sich mehrere Umgebungsvariablen für die Softwareentwicklung, die alle wichtig sind.
Die obige Lösung würde bei mir nicht funktionieren, also habe ich mich für Verzeichnis-Junctions entschieden :
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)Dadurch wurde mein PFAD auf 15 Pfaden von 2045 auf 1285 Zeichen reduziert.
Es kann ein Problem sein, wenn Sie endgültig Daten von Ihrem Computer deinstallieren, da die Junctions im Pfad verbleiben und Sie sie manuell bereinigen müssen.
quelle
Der maximal zulässige Wert im Pfad ist zwar viel länger, ich habe jedoch bei autorisierenden Antworten zum Thema "Stapelüberlauf" (und Microsoft-Referenzen) festgestellt, dass ein maximaler erweiterter Pfadwert von 2048 Byte funktioniert und alles, was länger ist, Probleme verursacht. Mit "erweitert" meine ich, dass alle Variablen, die mit% Trennzeichen gekennzeichnet sind, ihre Werte als erweiterter Wert einfügen und die gesamte erweiterte Länge 2048 Byte nicht überschreiten darf. Ich habe festgestellt, dass die Arten von Problemen (ab Windows 7) sind:
Persönlich empfehle ich andere Betriebssysteme als Windows, aber wenn Sie nicht weiterkommen, müssen Sie Ihre Stunden damit verbringen, Pfadeinträge zu entfernen, zu testen, um sicherzustellen, dass nichts kaputt geht, und den Pfadwert auf 2048 Byte zu senken.
quelle