2008-10-21 2 views
6

При добавлении ссылки на проект я иногда видеть сообщение ...Target Framework Несовпадение

«версия Target Framework для проекта выше, чем текущий проект Target Framework версии. Вы хотите, чтобы добавить эту ссылку на ваш проект?

Я понимаю, что указывает сообщение, но может ли кто-нибудь объяснить, какие проблемы могут возникнуть в связи с высказыванием «Да»?

ответ

10

Предположим, вы создали приложение, в котором exe нацеливается на 2.0, но некоторые объекты библиотеки 3.5. Кто-то с машиной .NET 2.0 смотрит на главный проект и думает, что он может его запустить - ведь приложение нацелено на 2.0, верно? Когда библиотека впервые загружена, они получат неприятный сюрприз ...

+3

Но как-то это было хорошо, чтобы скомпилировать в VS2008, VS2010 вдруг отказывается строить такие проекты. Это очень распространенный сценарий при наличии дополнительных ссылок в отладочных сборках. – 2010-07-07 11:03:13

1

Собственно, это прекрасно. VS просто информирует вас. Просто убедитесь, что вы скопировали необходимые ссылки на свой проект и ссылаетесь на них. Если проект, на который вы ссылаетесь, является тем, который вы контролируете, вы можете разместить ссылки там.

Например, у нас есть старый сервер Windows 2000, который не может работать .Net 3.5. Поэтому, когда мы хотим использовать что-то вроде LINQ, мы создаем отдельный проект, который нацелен на 3.5. Затем мы ссылаемся на этот проект из нашего веб-приложения, цель которого - 2.0. Мы получаем сообщение, о котором вы говорили, но мы просто убеждаемся, что DLL System.core и Link.Data скопированы в папку bin и указаны. Тогда нет никаких проблем. Работает как шарм.

Смежные вопросы