Eu encontrei um problema estranho - não consigo iniciar o Visual Studio, nem executar comandos simples no prompt de comando, aparentemente devido à minha variável PATH ser muito longa. Agora que olho para isso, vejo que muitas empresas adicionaram seus diretórios de instalação à variável PATH.
Fiquei me perguntando por que essas empresas adicionaram suas pastas ao caminho (talvez para simplificar a execução de seus programas?) E quais são necessárias e quais posso excluir. Se eu excluir alguns deles, não poderei iniciar os programas? ( Aqui está o que existe atualmente no caminho)
PATH
... O que leva você a suspeitar que é muito longo? O VS está lançando algum tipo de erro? Além disso, qual versão do Windows você está executando?ping
. Além disso, parece que isso não é incomum no visual studio . Foi também mencionado aqui que o limite para o caminho usando linha de comando é de cerca de 2000.The type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
Respostas:
é possível reduzir a quantidade excessiva de caminhos nas variáveis de ambiente PATH, basta salvar a linha inteira em um bloco de notas, como um backup, remover alguns e testar.
A maioria deles existe, portanto, se um atalho não tiver um caminho completo definido para o "Destino", se o "Iniciar em" não estiver definido corretamente no atalho ou se um lançamento for feito estranhamente, seu programa e suas partes e partes serão sempre encontrado. É um à prova de falhas na maioria das situações. Você ainda deseja testar completamente qualquer uso de qualquer programa que tenha removido seus caminhos.
Também é muito útil para as pessoas que digitam comandos no CMDprompt, mesmo sem um CD, o computador verifica cada local até que um programa com esse nome seja encontrado e executado. Ou qualquer outro comando com o mesmo nome :-)
Esse conjunto de caminhos foi limitado a menos de 255 (or260) charachters, que mudaram para 1024 há muito tempo, e foram remendados na era server'03 para lidar com 2048, e supostamente podiam lidar com 8096 em alguns sistemas, até muito tempo atras.
As verdadeiras limitações descobertas hoje em que as pessoas se deparam estão no CMDprompt, que tem um limite no comprimento da cadeia de comandos, que inclui a expansão das variáveis e caminhos.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx aqui A Microsoft diz:
Nesse local ^, eles apontam para o local do registro que contém os caminhos do sistema.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Deve ler o restante lá.O CMDprompt e a limitação de lote são 2048 caracteres uma vez expandidos, e diz-se que é 4x o maior para os sistemas mais recentes (precisa de citação porque as pessoas não estão vendo isso)
Consulte também http://support.microsoft.com/kb/830473 , que discute o prompt de comando e o tamanho do lote para sistemas mais antigos.
Para garantir que as entradas estejam corretas, o wiki tem o seguinte a dizer:
http://en.wikipedia.org/wiki/Environment_variable
Ter todos os caminhos extras lá diminui bastante algumas coisas, porque é forçado a procurar em todos esses lugares, antes que desista. O uso de caminhos completos sempre que chamar itens de arquivo será sempre mais rápido, mesmo quando estiver em lote ou usando o CMDprompt.
O uso de convenções antigas do tipo 8.3 é uma maneira de reduzir o tamanho, este Lote /programming//a/20362922 funciona bem. certifique-se (novamente) de fazer backup da sequência original. Veja também as outras soluções possíveis nessa pergunta.
Aqui está a minha aparência, tem sido pior.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Arquivos de Programas (x86) \ QuickTime \ QTSystem \
Eu jogava fora o quicktime em um piscar de olhos, e os programas da AMD colocavam um caminho extenso lá antes, lançavam-no, Adobee tinha um, nenhum deles importava para os métodos padrão de atalho / ícone da GUI. Muitas coisas podem ser removidas e teste todas as funções. Se você chamar as coisas digitando no prompt do CMD, a remoção desses caminhos não funcionará.
fonte
Tenho várias variáveis de ambiente relacionadas ao desenvolvimento de software no meu caminho, todas importantes.
A solução acima não funcionaria para mim, então fui para junções de diretório :
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)Fazer isso em 15 caminhos reduziu meu PATH de 2045 para 1285 caracteres.
Pode ser um problema quando você finalmente desinstalar itens da sua máquina, pois as junções permanecerão no caminho e você precisará limpá-las manualmente.
fonte
Embora o máximo permitido no caminho seja muito maior, encontrei nas respostas autorizadas do Stack Overflow sobre este tópico (e referências da Microsoft) que afirmam que um valor máximo do caminho expandido de 2048 bytes funcionará e qualquer coisa maior que isso causará problemas. Por "expandido", quero dizer que todas as variáveis indicadas com% delimitadores terão seus valores inseridos para se tornarem o valor expandido, e o comprimento total expandido não deve exceder 2048 bytes. Percebi que os tipos de problemas que ele causa (no Windows 7) são:
Pessoalmente, recomendo outros sistemas operacionais além do Windows, mas se você estiver preso a ele, precisará gastar horas removendo entradas de caminho, testando para garantir que não quebra nada e reduzindo o valor do caminho para 2048 bytes.
fonte