Visual Studio C # ссылка-предупреждение - PullRequest
2 голосов
/ 05 июля 2011

После компиляции мое решение имеет предупреждение, как показано ниже.enter image description here

Двойной щелчок по предупреждению вызовет вопрос, который я понятия не имею, что это такое.enter image description here

Если вы понимаете, о чем говорит VS, пожалуйста, поделитесь.

1 Ответ

5 голосов
/ 05 июля 2011

Похоже, вы ссылались на несколько разные версии ваших зависимостей в разных проектах ваших решений. Это означает, что при попытке запустить ваши проекты вы можете получить неожиданные ошибки, если передадите какие-либо ссылки с типами в зависимостях, поскольку типы из разных версий одной и той же сборки считаются разными.

* 1003 Е.Г. *

Project1 использует зависимость SomeAssembly.dll, которая является версией 1.0 Project2 использует зависимость SomeAssembly.dll, но в версии 1.1 Project2 имеет Project1 как зависимость

Код в проекте 2 пытается передать ссылку SomeType, где этот тип определен в SomeAssembly.dll, из его кода в код из проекта 1. Проект 1 выдает ошибку, поскольку тип не распознается, поскольку он исходит от другая версия сборки.

Ваша проблема может быть более тонкой, чем эта, поскольку большинство ошибок этого типа могут быть обнаружены компилятором, но если у вас сложные зависимости или вы используете инъекцию зависимостей, компилятор не обязательно обнаруживает подобные вещи.

Visual Studio предлагает эффективно обойти вас, перенаправив все зависимости на конкретную версию. ИМХО, я бы не стал принимать исправление, если вы можете исправить это вручную.

Вам было бы намного лучше изучить ваше решение и проверить все ваши ссылки, чтобы убедиться, что все они соответствуют версии. Возможно, вам придется удалить и добавить обратные ссылки, чтобы это работало должным образом, но выполнение этого сейчас позволит избежать непредвиденных проблем в долгосрочной перспективе.

...