Ekibimizde, Team Foundation Server tarafından kaynak denetimi altında olan Visual Studio 2008'de bir veritabanı projemiz var. Her iki haftada bir iş arkadaşından biri kontrol edildikten sonra proje dosyası diğer geliştirici makinelerine yüklenmez. Hata iletisi:Visual Studio 2008 proje dosyası beklenmeyen bir kodlama değişikliği nedeniyle yüklenmiyor
Proje dosyası yüklenemedi. Kök düzeyindeki veriler geçersiz. Hat 1, pozisyon 1.
Ben Not Defteri'nde proje dosyası ++ bakmak, dosya şuna benzer: vb
ve
(bunun içinde<?xml version
görebilirsiniz
��<NUL?NULxNULmNULlNUL NULvNULeNULrNULsNULiNULoNULnNUL
...
<?xml version="1.0" encoding="utf-16"?>
...
yüzden muhtemelen bir şey enc ile yanlıştır:) bir normal bir proje dosyası gibi görünüyor oysa Dosyanın oding. Bu bizim için bir sorundur, çünkü dosya kodlamasını tekrar doğru yapmak imkansızdır. 'Çözüm' proje dosyasını atmak ve kaynak kontrolünden son bilinen çalışma sürümünü almaktır. Dosyaya göre, kodlamanın UTF-16 olması gerekmektedir. Notepad ++ göre bozuk dosya aslında UTF-8'dir.
Sorularım şunlardır:
- Neden Visual Studio görünüşte rasgele zamanlarda ve rastgele makinelere, proje dosyasının kodlamasını berbat ediyor?
- Bunu önlemek için ne yapmalıyız? o oldu
- , doğru kodlama kaynak denetiminden eski bir sürümünü çekerek yerine mevcut dosyayı geri yüklemek için bir olasılığı var mı?
Son olarak: sorun tek bir proje dosyasıyla, diğer tüm proje dosyaları bu sorunu ortaya çıkarmaz.
GÜNCELLEME: Jon Skeet'in önerisi sayesinde üç numaralı soruya cevap verdim. İlk dokuz bayt EF BB BF EF BF BD EF BF BD'yi iki bayt FF FE ile değiştirdiğimde, proje dosyası yeniden yüklenir.
Bu, Visual Studio'nun dosyayı neden bozmadığını hala bir soru olarak bırakır.
Bozuk ve çalışma dosyaları arasında ikili bir fark yaratırsanız ne görüyorsunuz? UTF-16 bir endenlik sorunu olup olmadığını merak ediyorum. –
İkili bir fark yaratırsam, dosyalar doğru değil, FF FE ve bozuk olanın dokuz ek baytlık EF BB BF EF BF BD EF BF BD'si olması dışında, dosyalar gizlidir. – Xenan