Saya mengalami masalah aneh - saya tidak bisa meluncurkan Visual Studio, atau menjalankan perintah sederhana dari command prompt, tampaknya karena variabel PATH saya terlalu panjang. Sekarang saya melihatnya, saya melihat bahwa banyak perusahaan telah menambahkan direktori instal mereka ke variabel PATH.
Saya bertanya-tanya mengapa perusahaan-perusahaan ini menambahkan folder mereka ke jalur (mungkin untuk membuatnya lebih mudah untuk menjalankan program mereka?), Dan mana yang perlu dan yang bisa saya hapus. Jika saya menghapus beberapa dari mereka, apakah saya tidak dapat meluncurkan program? ( Inilah yang saat ini ada di jalur)
PATH
... Apa yang membuatmu curiga bahwa itu terlalu lama? Apakah VS melempar kesalahan? Juga, versi Windows apa yang Anda jalankan?ping
. Juga, sepertinya ini tidak biasa dengan studio visual . Disebutkan juga di sini bahwa batas untuk PATH yang menggunakan baris perintah adalah sekitar 2000.The type initializer for 'Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService' threw an exception.
Jawaban:
adalah mungkin untuk mengurangi jumlah path yang berlebihan dalam variabel lingkungan PATH, cukup simpan seluruh baris ke notepad, sebagai cadangan dan hapus beberapa dan uji.
Sebagian besar dari mereka ada di sana sehingga jika jalan pintas tidak memiliki jalur lengkap yang ditetapkan untuk "Target", Jika "Start In" tidak diatur dalam jalan pintas dengan benar atau peluncuran dilakukan dengan aneh, program mereka dan bagian dan potongannya selalu ditemukan. Ini adalah Failsafe dalam sebagian besar situasi. Anda masih ingin menguji sepenuhnya penggunaan program apa pun yang Anda hapus jalurnya.
Ini juga sangat berguna bagi orang yang mengetik perintah ke dalam CMDprompt, bahkan tanpa CD, komputer akan memindai setiap lokasi, sampai sebuah program dengan nama itu ditemukan dan dijalankan. Atau perintah lain dengan nama yang sama :-)
Kumpulan jalur itu WS (anchient) terbatas pada kurang dari 255 (or260) charachters, yang berubah menjadi 1024 beberapa waktu yang lalu, kemudian ditambal kembali di era server'03 untuk menangani 2048, dan konon bisa menangani 8.096 pada beberapa sistem, bahkan zaman dahulu.
Keterbatasan nyata yang ditemukan hari ini bahwa orang mengalami, adalah dalam CMDprompt yang memiliki batas pada panjang string perintah, yang meliputi perluasan variabel dan jalur.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682653(v=vs.85).aspx di sini Microsoft mengatakan:
Di lokasi itu ^ mereka menunjuk ke lokasi registri yang berisi jalur sistem.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
Harus membaca sisanya di sana.CMDprompt dan batasan batch 2048 charachters pernah diperluas, dan dikatakan 4x itu untuk sistem yang lebih baru (perlu kutipan karena orang tidak melihat itu)
Juga lihat http://support.microsoft.com/kb/830473 , yang membahas command prompt dan panjang kumpulan untuk sistem yang lebih lama.
Untuk memastikan bahwa entri sudah benar di sana, wiki ini mengatakan:
http://en.wikipedia.org/wiki/Environment_variable
Memiliki semua jalur tambahan di sana memperlambat hal-hal tertentu dengan sedikit, karena kemudian dipaksa untuk melihat di semua tempat itu, sebelum menyerah. Menggunakan path lengkap setiap kali memanggil item file akan selalu lebih cepat, bahkan ketika batching atau menggunakan CMDprompt.
Menggunakan konvensi DOS 8.3 seperti lama adalah salah satu cara untuk mengecilkan ukuran, Batch ini /programming//a/20362922 berfungsi dengan baik. pastikan (lagi) untuk membuat cadangan string asli. Lihat juga kemungkinan solusi lain pada pertanyaan itu.
Begini penampilan saya, lebih buruk.
% SystemRoot% \ system32;% SystemRoot%;% SystemRoot% \ System32 \ Wbem;% SYSTEMROOT% \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files (x86) \ QuickTime \ QTSystem \
Saya akan membuang waktu dengan cepat dalam sekejap, dan program AMDs telah membuat jalur yang panjang di sana sebelumnya, melemparkannya, Adobee memilikinya, tidak ada yang penting untuk metode pintas / ikon GUI standar. Banyak hal yang bisa dihapus, lalu uji semua fungsi. Jika Anda memanggil sesuatu dengan mengetikkan perintah CMD, maka menghapus jalur tersebut tidak akan berfungsi.
sumber
Saya memiliki beberapa variabel lingkungan terkait pengembangan perangkat lunak di jalur saya, yang semuanya penting.
Solusi di atas tidak akan bekerja untuk saya, jadi saya pergi untuk persimpangan direktori :
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\
)Melakukan itu pada 15 jalur mengurangi PATH saya dari 2045 menjadi 1285 karakter.
Ini mungkin menjadi masalah ketika Anda akhirnya menghapus barang-barang dari mesin Anda karena persimpangan akan tetap ada di jalur dan Anda harus membersihkannya secara manual.
sumber
Sementara maksimum yang diijinkan dalam path jauh lebih lama, saya telah menemukan pada jawaban otoritatif Stack Overflow pada topik ini (dan referensi Microsoft) yang menyatakan bahwa nilai jalur maksimum yang diperluas 2048 byte akan bekerja, dan apapun yang lebih lama dari itu akan menyebabkan masalah. Dengan "diperluas" maksud saya bahwa setiap variabel yang dilambangkan dengan% pembatas akan memiliki nilainya dimasukkan menjadi nilai yang diperluas, dan total panjang yang diperluas tidak boleh melebihi 2048 byte. Saya perhatikan bahwa jenis masalah yang ditimbulkannya (pada Windows 7) adalah:
Secara pribadi, saya merekomendasikan sistem operasi lain selain Windows, tetapi jika Anda terjebak di atasnya, maka Anda harus menghabiskan waktu Anda menghapus entri path, menguji untuk memastikan tidak merusak apa pun, dan mendapatkan nilai path ke 2048 byte.
sumber