SORU
2 Mart 2009, PAZARTESİ


C# Derleyici Uyarı 1685

Yani, (görünüşte) damdan düşer gibi, projemi derleyici uyarı 1685 başlıyor:

Önceden tanımlanmış türü 'Sistem.Çalışma zamanı.CompilerServices.ExtensionAttribute' birden çok derleme olarak tanımlanır genel ad; kullanarak tanımı 'C:\Program Files\Reference Derlemeler Microsoft\Framework\v3.5\System.Core.dll\'

Çapraşık, web makale nedenini anlamaya araştırdım. İşte bulduğum bilgiler:

Visual C# Referans: Hata ve Uyarılar Derleyici Uyarısı (Düzey 1) CS1685

Hata Mesajı önceden tanımlanmış türü 'Sistem.türü adı' tanımlanır genel olarak birden çok derleme diğer adı; kullanarak tanımından 'Dosyası '. Adı

Bu hata önceden tanımlanmış oluşur Sistemi gibi bir sistem türü.ınt32. iki derleme bulundu. Tek yolu bu eğer olur da başvuru ise. mscorlib iki farklı yerde, the.Net çalıştırmak için çalışıyor gibi Çerçeve sürüm 1.0 ve 1.1 yan yana.

Derleyici bu tanımı kullanır derlemeler sadece biri. Bu derleyici global takma yalnızca,arama kütüphaneler tanımlanan aramaz /başvuru. Eğer belirttiyseniz nostdlib /derleyici arama yapar gelecek Başlat Nesne için, ve önceden tanımlanmış türleri için tüm aramalarda bulunduğu dosya Nesne.

Şimdi gerçekten kafamı kaşıyorum.

  1. İki farklı kaçmıyorum bu sürümleri .NET Çerçeve 2.0 ve 3.5 saymazsak ().

  2. Herhangi bir tuhaf başvuran değilim bana yapabileceği derlemeler şüpheli.

  3. Bu değişikliği teşvik edeceğini başvurum için herhangi bir değişiklik yapmadan hatırlamıyorum.

  4. Tüm bileşenleri hedef olduğunu teyit ettim .NET çatısı sürüm v2.0.50727.

Öneri, ya da bu sorunu gidermek hakkında fikirlere açığım. Hata uyarıları gibi davranıyorum ve bu beni deli ediyor.

Gerçekten bu konuda beni rahatsız eden ne bilmiyorumnedenmeydana gelen bu. Böyle şeyler gözle görülür bir neden var ve neden olduğunu bilmem gerekir. Eğer bunu açıklayabilir miyim, doğru bir şekilde bunu telafi edemem. Varsayımları hiç tatmin edici değil.

Uygulama basit bir sınıf kitaplığı oluşturması ve bir windows forms uygulaması.

  • C# DLL işlevlerini sağlayan sınıf kitaplığı temel şifrelenmiş veritabanına erişmek. Bu başvurular aşağıdaki bileşenleri DLL:

    • Sistem
    • Sistem.Çekirdek
    • Sistem.Çekirdek.Veri
    • Sistem.Veri
    • Sistem.Veri.DataSetExtensions
    • Sistem.Veri.OracleClient
    • Sistem.Çizim
    • Sistem.Windows.Formlar
    • System.Xml
    • Sistem.Xml.Seri
  • Bir C# Windows uygulama arayüzünü sağlayan Formlar. Bu uygulama aşağıdaki bileşenleri referanslar:

    • CleanCode
    • (Bu iki sözdizimi editörü destek sağlamak ve yerel karşı inşa edilir .CleanCodeControls NET 3.5).
    • LinqBridge
    • Roswell.Çerçeve (sınıf kitaplığı yukarıda)
    • Sistem
    • Sistem.Çekirdek
    • Sistem.Veri
    • Sistem.Veri.DataSetExtensions
    • Sistem.Veri.OracleClient
    • Sistem.Dağıtım
    • Sistem.Tasarım
    • Sistem.Çizim
    • Sistem.Windows.Formlar
    • System.Xml
    • Sistem.Xml.Seri

Bana eğer daha fazla bilgiye ihtiyacınız olursa haber verin seve seve bunu veririz.

Şimdiden teşekkürler.

CEVAP
29 HAZİRAN 2011, ÇARŞAMBA


Doğrulamak için başka bir kolay yolu: Kodunuzda, geçici olarak bir yerlerde sınıfını kullanın. Örnek:

System.Runtime.CompilerServices.ExtensionAttribute x = null;

Oluştururken, bu hata üretir:

Türü 'System.Çalışma zamanı.CompilerServices.'Var 'c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll' ve ..... ExtensionAttribute

Ve hemen 2 kaynakları çakışmaya neden göster.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • apenney888

    apenney888

    27 EKİM 2010
  • Bennythecoder

    Bennythecode

    25 Mart 2008