asp.net mvc - Visual Studio'da TypeScript ile lib.d.ts içinde 100'den fazla hata


Yaklaşık 40 .ts dosyasıyla istemci tarafında TypeScript kullanan küçük bir MVC4 web uygulamam var.

TS'yi 0.9.1.1'e yükselttiğimde, artık Visual Studio 2012'de hata listesinde lib.d.ts içinde 100'den fazla hata görüyorum.

Sorun kaçınılmazdır (ekibimizin tüm üyeleri yükseltme yaptıklarında aynı şeyi aldı), ancak güvenilir bir şekilde tekrar üretmek kelimenin tam anlamıyla imkansızdır. Bazı davranışlar:

  • Hatalar hemen görünmeyecek, sadece belirli bir (görünüşte rastgele) süre sonra ortaya çıkacak.
  • Genellikle bir dosya kaydedildiğinde tetiklenirler.
  • Bunlar şunlar gibi şeylerdir:

    Tüm adlandırılmış özellikler, 'any' string indeks türünün alt türleri olmalıdır

  • Projeden herhangi bir .ts dosyasını kaldırmak veya VS'yi yeniden başlatmak, onların bir süreliğine kaybolmasını sağlar, ancak her zaman geri gelirler.
  • Derleyici hâlâ çalışıyor ve tüm .js dosyaları doğru bir şekilde oluşturuluyor.

Hem VS2012 hem de VS2013 RC'de yeni boş bir proje kurmayı denedim, ardından TS sınıflarımızı tek tek eklemeye başladım. Bir noktada, hatalar ortaya çıkıyor, ancak adımları geri izlemek, neyin tetikleyebileceğini belirlemede tamamen işe yaramadı. Bununla birlikte, yalnızca 15-20 .ts dosyasına yaklaştığınızda meydana gelmiş gibi görünüyor.

Burada ne yapacağımı şaşırdım.

Not: Hata listesinde, "Proje" sütununun altında, çoğu zaman bir projeden ziyade belirli bir dosya adlandırılır. Çoğu zaman bu bir tanım dosyasıdır, örneğin underscore.d.ts. Bunun bir Proje olarak adlandırılmasının sebebi ne olur?

DÜZENLE :

Bunu tek bir .ts dosyası ve birkaç tanım dosyası ile yeniden yaratmayı başardım.

Uygulama.ts

module Application {
    export class Main {
        constructor(options?) {
        }
    }
}

En son sürümlerine ek olarak:

backbone.d.ts
jquery.d.ts
underscore.d.ts
backbone.relational.d.ts

i.e. ~10 kez 5 saniye içinde tekrarlamak için App.ts üzerinde birçok hızlı değişiklik ve kaydetme yaptım. Bu bir dosya izinleri hatasına işaret edebilir mi?

Cevap #1

Visual Studio Galerisi'ne git

ve Typescript'in en son sürümünün yüklü olduğundan emin olun.

Cevap #2

Görünüşe göre bunun nedeni, TypeScript dil hizmetlerinde yapılan optimizasyonlardır. Visual Studio analiz için bilgileri kısmen güncellemeye çalışır, ancak analiz geciktiğinde ve güncelleme komutlarının gerisinde kaldığında bu olur.

Geçici bir çözüm, dosyanın tüm içeriğini kesmek ve yeniden yapıştırmaktır; bu, dil hizmetine dosyanın taze bir görünümünü verir.

İlgili makaleler