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.
İki farklı kaçmıyorum bu sürümleri .NET Çerçeve 2.0 ve 3.5 saymazsak ().
Herhangi bir tuhaf başvuran değilim bana yapabileceği derlemeler şüpheli.
Bu değişikliği teşvik edeceğini başvurum için herhangi bir değişiklik yapmadan hatırlamıyorum.
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
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.
Nasıl kurtulmak &; [bir olay] asla kul...
C / C derleyici uyarı: tüm kodunuzu bu...
Türleri içinde numaralama kullanarak D...
"dosya" sonunda yeni satır; d...
GNU derleyici uyarı "sınıfının sa...