Итак, (по-видимому) из ничего, мой проект начинает получать предупреждение о компиляторе 1685:
Предопределенный тип 'System.Runtime.CompilerServices.ExtensionAttribute' определяется в нескольких сборках в глобальный псевдоним; используя определение from 'c:\Program Files\Reference Сборки \Microsoft\Framework\v3.5\System.Core.dll '
В преломлении я исследовал статью MSDN, чтобы выяснить ее причину. Вот информация, которую я нашел:
Ссылка на Visual С#: ошибки и Предупреждение о компиляторе предупреждений (уровень 1) CS1685
Сообщение об ошибке Предопределенный тип 'Имя типа System.type' определено в несколько сборок в глобальном псевдоним; используя определение из "Файл Имя
Эта ошибка возникает, когда предопределенная тип системы, такой как System.int32, является найденный в двух сборках. Один из способов может случиться, если вы ссылаетесь mscorlib из двух разных мест, например, попытку запуска программы. Рамочные версии 1.0 и 1.1 бок о бок.
Компилятор будет использовать определение только от одной из сборок. компилятор ищет только глобальные псевдонимы, не ищет библиотеки, определенные /Справка. Если вы указали /nostdlib, компилятор будет искать для объекта, и в будущем все поиски предопределенных типов в файл, в котором он нашел объект.
Теперь я действительно почесываю голову.
-
У меня нет двух разных версии .NET Framework (если вы не считаете 2.0 и 3.5).
-
Я не ссылаюсь ни на какие причудливые собрания, которые могли бы сделать меня подозрительными.
-
Я не помню внесения каких-либо изменений в мое приложение, которое подстегнет это изменение.
-
Я проверил, что все компоненты нацелены на версию .NET Framework версии 2.0.50727.
Я открыт для предложений или идей о том, как исправить это. Я рассматриваю предупреждения как ошибки, и это сводит меня с ума.
Что действительно меня беспокоит, так это то, что я не знаю, почему это происходит. Вещи, которые произойдут, должны иметь очевидную причину, и я должен знать, почему они произошли. Если я не могу это объяснить, я не могу точно исправить это. Угадайка никогда не бывает удовлетворительной.
Приложение является простым, состоящим из библиотеки классов и приложения форм Windows.
-
Библиотека библиотеки классов С#, предоставляющая базовые функции, инкапсулирующие доступ к базе данных. Эта DLL ссылается на следующие компоненты:
- Система
- System.Core
- System.Core.Datali >
- System.Datali >
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Drawing
- System.Windows.Forms
- System.Xml
- System.Xml.Linq
-
Приложение С# Windows Forms, предоставляющее интерфейс. Это приложение ссылается на следующие компоненты:
- CleanCode
- CleanCodeControls (оба из них поддерживают поддержку синтаксиса и локально построены против .NET 3.5).
- LinqBridge
- Roswell.Framework(библиотека классов выше)
- Система
- System.Core
- System.Datali >
- System.Data.DataSetExtensions
- System.Data.OracleClient
- System.Deployment
- System.Design
- System.Drawing
- System.Windows.Forms
- System.Xml
- System.Xml.Linq
Сообщите мне, если вам нужна дополнительная информация, и я с радостью предоставит ее.