Можно ли использовать MS .NET 4.6 с Visual Studio 2010?

Мы по-прежнему используем VS 2010 SP1 для разработки крупномасштабного веб-приложения LOB ASP.NET. Специалисты по инфраструктуре рассматривают возможность переноса .NET 4.6 (и пакета таргетинга для разработчиков) на рабочий стол, и у меня возникли проблемы с поиском информации о совместимости с VS 2010. что у вас должен быть VS 2012 или выше, но я не могу найти ничего официального по этой теме. Кто-нибудь знает, можно ли использовать .NET 4.6 и VS 2010 SP1 для разработки?


person user5495678    schedule 27.10.2015    source источник
comment
Почему вы пытаетесь остаться на 2010 и не переходите на более позднюю версию?   -  person Scott Chamberlain    schedule 28.10.2015
comment
Это вопрос времени, план состоит в том, чтобы отказаться от VS 2010, но не раньше, чем предприятие планирует продвигать .NET 4.6.   -  person user5495678    schedule 29.10.2015


Ответы (3)


Visual Studio 2010 не поддерживает целевой пакет 4.6. Когда целевой пакет будет отправлен на компьютер, Visual Studio 2010 его не увидит.

На самом деле это не проблема, если вы хотите остаться на поддерживаемой версии .NET (вероятно, именно поэтому ваши инфраструктурные люди делают то, что они делают), потому что даже если вы нацелены на 4.0, вы можете сохранить поддержку, развернув 4.6 и запустить на нем приложение версии 4.0. В этом случае мы имитируем поведение 4.0, поэтому при тестировании на машине только с 4.0 вы можете быть уверены, что приложение будет работать с высокой уверенностью на 4.6.

Однако я вижу, что разработчики часто сталкиваются с тем, что когда они нацелены на 4.0, но тестируют на машине с установленной 4.6, а затем ожидают, что смогут развернуться на 4.0 и просто запустить это. В этом случае нет 100% гарантии, что это сработает, так как мы не исправим каждую отдельную ошибку и/или функцию. Это означает, что вы можете случайно подобрать поведение 4.6 и положиться на него.

Подвести итоги:

  • Если вы нацелены на 4.0, протестируйте на 4.0 и разверните на 4.0/4.6 -> Мы гарантируем, что это работает с достаточно высокой степенью уверенности.

  • Если вы нацелены на 4.0, протестируйте на 4.6 и разверните на 4.6 -> Мы гарантируем, что это работает с довольно высокой степенью уверенности.

  • Если вы нацелены на 4.0, протестируйте на 4.6 и разверните на 4.0 -> Это будет работать в большинстве случаев, но вы можете случайно зависеть от «фиксированного поведения», которое не исправлено в 4.0.

person David Kean    schedule 28.10.2015
comment
Примечание. Дэвид работает в Microsoft, и это самый авторитетный ответ, который вы можете получить. - person vcsjones; 28.10.2015
comment
Спасибо, Дэвид, я ценю ваш ответ - person user5495678; 29.10.2015

Visual Studio поддерживает множественный таргетинг. Например, если бы я использовал Visual Studio 2012, я мог бы установить многоцелевой пакет 4.6 для разработки приложения 4.6.

Однако инструкции по загрузке для многоцелевого таргетинга версии 4.6 пакет не упоминает поддержку Visual Studio 2010, только 2012 и 2013:

Пакет .NET Framework 4.6 Targeting Pack — это пакет, который позволяет разработчикам создавать приложения, ориентированные на .NET Framework 4.6, с помощью Visual Studio 2013, Visual Studio 2012 или сторонних IDE.

Это так близко к любой документации, которую я нашел. Это наводит меня на мысль, что нет, поддержка мультитаргетинга 4.6 не существует для Visual Studio 2010.

person vcsjones    schedule 27.10.2015
comment
Боюсь, что вы правы - было бы здорово получить окончательный ответ от Microsoft, тем более, что поддержка 4.5.1 заканчивается в январе. - person user5495678; 28.10.2015
comment
@user5495678 user5495678 Я связался с некоторыми людьми из Microsoft, чтобы узнать, смогу ли я заставить их написать канонический ответ. - person vcsjones; 28.10.2015

Wiki содержит перекрестную ссылку на визуальные студии и версии .net, которые они поддерживают. История MS Visual Studio

Каждая новая версия .NET поставляется не только с новым компилятором. Также добавлены новые инструменты, проекты и даже функциональные возможности IDE. Если вам необходимо использовать функции 4.6, вам также следует подумать об обновлении VS.

person Roman Mik    schedule 27.10.2015
comment
Спасибо за ваш ответ - - person user5495678; 28.10.2015
comment
Мой вопрос касается обратной совместимости, а не желания реализовать новые функции, добавленные в .NET 4.6, к сожалению, вики просто повторяет маркетинговые материалы на момент выпуска. В настоящее время мы используем .NET 4.5.2 и успешно ориентируемся на .NET 4 с VS2010, но были некоторые сбои, когда 4.6 заменил .NET 4.5.2, и я не могу определить причину в настоящее время, поэтому я разместил этот вопрос, надеясь, что кто-то из Команда Visual Studio может его подобрать — еще раз спасибо. - person user5495678; 28.10.2015