Tak (pozornie) out of the blue, mój projekt rozpoczyna się ostrzeżenie kompilatora 1685:kompilator C# Ostrzeżenie 1685
The predefined type 'System.Runtime.CompilerServices.ExtensionAttribute' is defined in multiple assemblies in the global alias; using definition from 'c:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll'
Zakłopotany, badałem artykuł MSDN, aby dowiedzieć się, jego przyczyny. Oto informacje, które znalazłem:
Visual C# Reference: Errors and Warnings Compiler Warning (level 1) CS1685
Error Message The predefined type 'System.type name' is defined in multiple assemblies in the global alias; using definition from 'File Name'
This error occurs when a predefined system type such as System.int32 is found in two assemblies. One way this can happen is if you are referencing mscorlib from two different places, such as trying to run the.Net Framework versions 1.0 and 1.1 side-by-side.
The compiler will use the definition from only one of the assemblies. The compiler searches only global aliases, does not search libraries defined /reference. If you have specified /nostdlib, the compiler will search for Object, and in the future start all searches for predefined types in the file where it found Object.
Teraz naprawdę drapię się po głowie.
Nie uciekam dwa różne wersje Framework (jeśli nie liczyć 2.0 i 3.5).
Nie odwołuję się do żadnych dziwacznych zespołów , które mogą sprawiać, że podejrzane będą mnie podejrzane .
Nie przypominam sobie o żadnych zmianach w mojej aplikacji, które spowodowałyby tę zmianę.
Sprawdziłem, że wszystkie komponenty są przeznaczone dla platformy .NET Framework w wersji 2.0.50727.
Jestem otwarty na sugestie lub pomysły, jak to poprawić. Traktuję ostrzeżenia jako błędy i to doprowadza mnie do szału.
To, co mnie naprawdę nurtuje, polega na tym, że nie wiem, , dlaczego występuje. To, co się dzieje, powinno mieć wyraźną przyczynę i powinienem wiedzieć, dlaczego tak się stało. Jeśli nie potrafię tego wyjaśnić, nie mogę tego dokładnie naprawić. Zgadywanie nigdy nie jest zadowalające.
Aplikacja jest prosta, składa się z biblioteki klas i aplikacji formularzy okien.
Biblioteka DLL klasy C zapewniająca podstawową funkcjonalność obejmującą dostęp do bazy danych. Ten DLL odwołuje się następujące składniki:
- systemowe
- System.Core
- System.Core.Data
- System.Data
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Drawing
- System.Windows.Forms wniosek zawierający UI
- System.Xml
- System.Xml.Linq
C# Windows Forms. Ta aplikacja odwołuje się następujące składniki:
- CleanCode
- CleanCodeControls (oba te zapewniają wsparcie edytor składni i są lokalnie zbudowany na .NET 3.5).
- LinqBridge
- Roswell.Framework (biblioteka klasy wyżej)
- systemu
- System.Core
- System.Data
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Deployment
- System.Design
- System.Drawing
- System.Windows.Forms
- System.Xml
- System.Xml.Linq
Daj mi znać, jeśli potrzebujesz dodatkowych informacji, a ja chętnie dostarczyć .
zobacz: http://stackoverflow.com/questions/546819/strange- warning-about-extensionattribute Sugerujemy zamknięcie pytania, że jest to dokładny duplikat – ShuggyCoUk
Nawiasem mówiąc, rzeczywiście jest to LinqBridge, który to powoduje, już go nie potrzebujesz – ShuggyCoUk
Zrobiłem wyszukiwanie na numerze ostrzegawczym i nie mogłem znaleźć żadnych pytań które to zawierało; moje przeprosiny za duplikat. Nawiasem mówiąc, LinqBridge WAS, w rzeczywistości, problem. Dziękuję Ci! –