2013-09-09 3 views
1

У меня есть приложение MVC 3, которое предназначено для .net 4.0. В нем есть дюжина проектов, также предназначенных для .net 4.0Можно ли ссылаться на сборку, которая нацелена на .net 4.5 в проекте, который нацелен на 4.0?

Я создал новый проект для таргетинга на решение .net 4.5, в котором используется отражение (есть пара хороших бит функциональности в 4.5, которые я хочу использовать). Когда я пытаюсь скомпилировать, я получаю сообщение о том, что «тип или пространство имен (новый 4.5 proj) не удалось найти, вы не указали директиву или ссылку на сборку».

Возможно ли иметь ссылку на ассемблер .net 4.5 в проекте, который нацелен на 4.0?

+0

В теории я бы сказал, вы могли бы, потому что .Net 4.5 является заменой для .Net 4.0, поэтому время автономной работы одинаково. Я бы рекомендовал против этого, потому что, очевидно, вы рискуете вызвать код, который не существует в вашем проекте 4.5. Это функция BCL, которую вы хотите в версии 4.5 или язык? – CodingGorilla

+0

http://stackoverflow.com/questions/16856474/upgrade-to-net-4-5-causes-assembly-to-fail – Vladimir

+0

Компилятор применяет два на четыре к вашему лбу. Если вы считаете, что это неправильно, попробуйте представить, что произойдет, когда ваш код вызовет метод, который доступен только в .NET 4.5, но работает на компьютере с установленным 4.0. Хлопать. –

ответ

1

Возможно ли иметь ссылку на таргетинг на сборку .net 4.5 в проекте, который нацелен на 4.0?

Нет. Этого не должно быть. Могут быть некоторые функции, которые используются в сборке .Net 4.5, которые не являются частью .Net 4.0. В этом конкретном случае это должно завершиться неудачно.

+1

Это, похоже, противоречит тому, что объясняется здесь: stackoverflow.com/a/12631425/881111 – Nuzzolilo

+0

@Nuzzolilo, это два разных вещи, один использует сборку, разработанную в версии 4.5 в проекте 4.0, другая работает 4.0 на машине с 4.5 – user2711965

1

Я думаю, вы могли бы просто установить свой проект .NET 4.5, но если вы хотите сохранить его как 4.0, посмотрите на этот link может помочь вам

0

Да, это возможно. Просто откройте файл .csproj для сборки 4.0 .Net дает ошибку сборки нагрузки в текстовом редакторе и установить это для .Net ссылки +4,5 сборки:

 <SpecificVersion>True</SpecificVersion> 
Смежные вопросы