Derleme referansları ile ilgili hataları ve uyarıları gider

  • CS0012: 'type' türü, başvurulmayan bir derlemede tanımlanır. 'assembly' derlemesine bir başvuru eklemeniz gerekir.
  • CS0234: Ad alanında tür veya ad alanı adı bulunmuyor (bir derleme referansını mı kaçırdınız?)
  • CS0246: Tür veya ad alanı adı bulunamadı (bir 'using' yönergesi veya assembly referansı mı eksik?)
  • CS0400: Tür veya ad alanı adı genel ad alanında bulunamadı (bir derlemeye referans vermeyi mi unuttunuz?)
  • CS1068: Tür adı genel ad alanında bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS1069: Tür adı ad alanında bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS1070: Tür adı bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS1704: Aynı basit ada sahip bir bütünleştirme zaten içeri aktarılmış. Yan yana çalıştırmayı etkinleştirmek için başvurulardan birini kaldırmayı veya bunları imzalamayı deneyin.
  • CS1714: Bu türün temel sınıfı veya arabirimi çözümlenemedi veya geçersiz.
  • CS1760: Birden çok derleme aynı meta verileri ifade eder, ancak yalnızca biri bağlı başvurudur (/link seçeneği kullanılarak belirtilir); başvurulardan birini kaldırmayı göz önünde bulundurun.
  • CS7008: Derleme adı ayrılmıştır ve etkileşimli bir oturumda referans olarak kullanılamaz.
  • CS7068: Bir türün referansı bu derlemede tanımlandığını iddia ediyor, ancak kaynakta veya eklenen modüllerde tanımlı değil.
  • CS7069: Bir türün başka bir derlemede tanımlandığı belirtiliyor, ancak bulunamadı.
  • CS7071: Derleme başvurusu geçersiz ve çözümlenemiyor.
  • CS7079: Tür, eklenmemiş bir modülde tanımlanır. Modülü eklemeniz gerekir.
  • CS8090: Referans verilen derlemede bir hata var.
  • CS8203: Geçersiz derleme adı.
  • CS8206: 'derleme adı' derlemesindeki 'modül adı' modülü, 'tür adı' türünü birden çok derlemeye iletir: 'ilk derleme adı' ve 'ikinci derleme adı'.
  • CS8356: Önceden tanımlanmış 'tür adı' türü, başvuruda bulunılan birden çok derlemede bildirilir: 'ilk derleme adı' ve 'ikinci derleme adı'
  • CS9286: Tür tanım içermiyor ve alıcı türü için erişilebilir bir uzantı üyesi bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)

Ayrıca, bu makale aşağıdaki uyarıları kapsar:

  • CS1683: 'Tür Adı' türüne başvuru, bu derlemede tanımlandığını, ancak kaynakta veya eklenen modüllerde tanımlanmadığını iddia eder.

Eksik kaynaklar

Aşağıdaki hatalar ve uyarılar eksik bir bileşen başvurusunu gösterir:

  • CS0012: 'type' türü, başvurulmayan bir derlemede tanımlanır. 'assembly' derlemesine bir başvuru eklemeniz gerekir.
  • CS0234: Tür veya ad alanı adı belirtilen ad alanında mevcut değil (derleme başvurusu eksik mi?)
  • CS0246: Tür veya ad alanı adı bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)
  • CS1714: Bu türün temel sınıfı veya arabirimi çözümlenemedi veya geçersiz.
  • CS9286: Tür tanım içermiyor ve alıcı türü için erişilebilir bir uzantı üyesi bulunamadı (using yönergesi veya derleme başvurusu eksik mi?)

Bu derleyici hataları, kodunuzda şu sorunlardan birini gösterir:

  • Proje gerekli derlemeyi içermiyor. Bu hatayı düzeltmek için gerekli derlemeye bir referans ekleyin.
  • Bir türün adını yanlış yazdınız. Türün adını kontrol edin.
  • Bir System.Type veya bir typeof adı beklendiğinde, bir değişken adı kullandınız.
  • Tür genel ad alanında olmadığında genel kapsam işlecini (::) kullandınız.
  • Bir uzantı üyesine erişiyorsanız ve ya ad alanı bir using yönergede belirtilmemiş ya da uzantıyı içeren derleme ile başvuru yapmıyorsunuz.

Montaj referans gösterilmiş gibi görünüyorsa

Projenizde derlemeye başvuruluyor gibi görünüyorsa ancak yine de CS0012 alıyorsanız, şu sorun giderme adımlarını deneyin:

  • Paketleri geri yükleme: Özellikle NuGet paketlerini yükledikten veya kaldırdıktan sonra tüm paket başvurularının düzgün şekilde çözümlenmesi için komutunu çalıştırın dotnet restore .

  • NuGet paket önbelleğini temizleyin ve geri yükleyin:

    dotnet nuget locals all --clear
    dotnet restore
    
  • Sürüm çakışmalarını denetleyin: Başvuruda olunan tüm derlemelerin uyumlu sürümleri kullandığını doğrulayın. Derleme çıkışında bağlama yeniden yönlendirme uyarılarını arayın.

  • Eski başvuru kalmadığından emin olmak için çözümü temizleyin ve yeniden derleyin:

    dotnet clean
    dotnet build
    
  • Paket bütünlüğünü doğrulama: Hata paket işlemleri sonrasında oluştuysa, paketi kaldırıp yeniden yükleyerek paketin doğru yüklendiğinden emin olun:

    dotnet remove package [PackageName]
    dotnet add package [PackageName]
    

Tip yönlendirme

  • CS1068: Tür adı genel ad alanında bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS1069: Tür adı ad alanında bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS1070: Tür adı bulunamadı. Bu tür başka bir derlemeye iletildi. Bu derlemeye başvuru eklemeyi göz önünde bulundurun.
  • CS8206: 'derleme adı' derlemesindeki 'modül adı' modülü, 'tür adı' türünü birden çok derlemeye iletir: 'ilk derleme adı' ve 'ikinci derleme adı'.

CS1068, CS1069 ve CS1070, farklı bir derlemeye iletilen türe başvururken bir hata olduğunu gösterir. Hata iletisinde belirtilen derlemeye başvuru ekleyin.

CS8206, başvuruda bulunılan bir derlemede veya modülde çakışan tür ileticisi meta verilerini gösterir. Aynı tür birden fazla hedef derlemeye iletilir. Türü tek bir hedefe ileden düzeltilmiş veya yeniden oluşturulmuş bağımlılıkları kullanın. Paket ve derleme sürümlerinin tutarlı olduğundan emin olun veya çakışan meta verilere neden olan başvuruyu kaldırın. Kaynak takma adları veya yerel tür bildirimlerinde yapılan ilgisiz değişiklikler, başvurulan meta verileri düzeltemez.

Yinelenen referanslar

Aşağıdaki hatalar yinelenen derleme başvurularını gösterir:

  • CS1704: Aynı basit ada sahip bir derleme zaten içeri aktarılmış. Bunları yan yana kullanabilmek için başvurulardan birini kaldırmayı veya imzalayıp kullanmayı deneyin.
  • CS1760: Birden çok derleme aynı meta verileri ifade eder, ancak yalnızca biri bağlı başvurudur (/link seçeneği kullanılarak belirtilir); başvurulardan birini kaldırmayı göz önünde bulundurun.
  • CS8356: Önceden tanımlanmış 'tür adı' türü, başvuruda bulunılan birden çok derlemede bildirilir: 'ilk derleme adı' ve 'ikinci derleme adı'

Bu hataları düzeltmek için referanslardan birini kaldırın veya yinelenmeyi giderin. Yinelemenin nedenleri şunlardır:

  • Aynı ada sahip birden çok imzasız derleme.
  • Projeniz aynı derlemenin birden çok sürümüne başvurur.

CS8356 için, önceden tanımlanmış aynı çalışma zamanı türünü tanımlayan yinelenen veya uyumsuz başvuruyu kaldırın veya değiştirin. Projenin uyumlu bir çerçeveyi ve başvuru derleme kümesini hedeflediğinden emin olun. Önceden tanımlanmış türün başka bir kaynak tanımını eklemeyin.

Geçersiz derleme referansı

Aşağıdaki hatalar bir derleme referansının geçersiz olduğunu gösterir:

  • CS7008: Derleme adı ayrılmıştır ve etkileşimli bir oturumda başvuru olarak kullanılamaz.
  • CS7068: Türe yapılan başvuru, bu derlemede tanımlı olduğunu belirtiyor; ancak kaynakta veya eklenen modüllerin hiçbirinde tanımlı değil.
  • CS7069: Türün başka bir derlemede tanımlandığı belirtiliyor, ancak bulunamadı.
  • CS7071: Derleme başvurusu geçersiz ve çözümlenemiyor.
  • CS7079: Tür, eklenmemiş bir modülde tanımlanır. Modülü eklemeniz gerekir.
  • CS8090: Başvurulan derlemede bir hata var.
  • CS8203: Geçersiz derleme adı.

Aşağıdaki uyarı geçersiz bir başvuru derlemesini de gösterir:

  • CS1683: 'Tür Adı' türüne başvuru, bu derlemede tanımlandığını, ancak kaynakta veya eklenen modüllerde tanımlanmadığını iddia ediyor

Assembly adını doğru yazdığınızı kontrol edin. Başvuruda bulunılan derleme dosyası geçersiz olabilir.