Чи може Visual Studio 2012 бути встановлений поруч із Visual Studio 2010?


103

Чи втручатиметься Visual Studio 2012 / порушує .NET 4 та / або Visual Studio 2010, якщо встановлено поруч у тому ж екземплярі Windows?


1
так, обидва твори, навіть один і той же час. Я намагався.
Ерік Інь

3
Visual Studio можна встановити поряд, але розумійте, що VS 2012 поставляється з .NET 4.5, який перезаписує .NET 4.0. Не проблема, якщо вам все-таки не потрібно розробляти машини .NET 4.0.
Ваккано

4
Ви все ще можете розробити для .NET 4.0 машин. Ви просто повинні знати, що під час тестування програми .NET 4.0 на комп'ютері VS2012 ви протестуєте іншу версію .NET, ніж клієнт, який ніколи не встановлював .NET 4.5. Тож тестуйте на такій машині, як ті, які використовуватиме ваш клієнт, і ви будете все в порядку.
Джон Сондерс

аааа - розкіш замовника, що забезпечує корисне тестове середовище! Удачі в цьому: P
JumpingJezza

11
помилково вважати, що .NET 4.5 повністю сумісний з .NET 4.0, це не так, а насправді в нашому випадку він порушив декілька наших рішень.
Stefan Z Camilleri

Відповіді:


32

Як сказав Рейго, так. Ось посилання на офіційну сторінку Microsoft із наданою інформацією Reigo та додатковою інформацією: http://msdn.microsoft.com/en-us/library/ms246609%28v=VS.110%29.aspx


36
Він може бути встановлений уздовж, тобто інсталятор буде успішно запускатися. Однак ви не повинні робити цього, якщо ви не хочете витратити два дні на видалення Visual Studio, .NET 4.5, на ремонт рамки .NET 4.0 (яка НЕ ​​змінюється безпосередньо модифікацією бета-версії 4.5) та видалення безлічі інструментів SQL Server 2012 один за одним. Все після того, як ваш попередньо працюючий код 4.0 починає вибуху з помилкою "Посилання на об'єкт" у рядку, що містить лише коментар.
mclark1129

8
Це дуже небезпечно, якщо ви плануєте продовжувати розробку для .net 4.0. Це пов’язано з тим, що ваша розробна машина використовуватиме бінарні файли .net 4.5 (оскільки .net 4.5 - це місцеве оновлення). Ці бінарні файли мають виправлення помилок, які будуть "приховані" від вас під час налагодження націлювання .net 4.0. Але коли ви розгортаєтесь на машину, на якій працює тільки .net 4.0 (тобто windows xp), ці помилки не виправлені для вашого користувача . Докладніше див. У цій публікації: social.msdn.microsoft.com/Forums/en-US/wpf/thread/…
Vaccano

2
Спробуйте це у віртуальній машині. Я можу підтвердити описані проблеми Майка С. Я припускав, що VS2012 буде безпечно спробувати. У мене виникло стільки прикрих проблем, що я не довіряв своїй машині та перевстановив Windows.
kenchilada

2
Чи існують ці проблеми з VS 2012 RTM?
Тім Фрізен

1
@TimFriesen - Проблема, яку я описав, все ще знаходиться в RTM. Це вада дизайну з планом "оновлення", який Microsoft прийняла для .NET 4.5.
Ваккано

30

Випуск .net 4.5 - це оновлення на місці.

Це означає, що двійкові файли для .net 4.0 будуть замінені бінарними файлами для .net 4.5 .

Корпорація Майкрософт намагається усунути проблеми, викликані цією проблемою, створивши функцію "Target .net 4.0". Але це сильно відрізняється від націлювання попередніх версій .net (які були поруч з .net 2.0).

Оскільки це місцеве оновлення, "Target .net 4.0" реально не може націлити його. Найкраще, що вони можуть зробити, це спробувати видалити деякі "функції" вручну. Вони зробили це (Скотт Хензельман мав повідомлення про це в блозі ).

Але не дозволяйте цьому дурити вас, думаючи, що ви дійсно використовуєте .net 4.0. Будь-які помилки, виправлені .net 4.5, будуть виправлені на вашій розробній машині, а не для ваших .net 4.0 користувачів.

Тож якщо ви розробляєте додаток "Націлювання .net 4.0" і у вас встановлено .net 4.5, тоді ви ризикуєте. Якщо ви випадково використовуєте виправлену помилку, вона не зламається для вас під час налагодження.

Коли ви розгортаєте додаток на машині, що працює тільки .net 4.0 (тобто Windows xp), ці помилки не виправлені для вашого користувача .

Для всіх намірів і цілей ці виправлені помилки тепер є "прихованими помилками" (для розробників, які ще потребують націлювання на .net 4.0).

Найкраще, що це не має значення, якщо ви використовуєте VS 2010 або VS 2012. Після встановлення .net 4.5 помилки приховані.

Докладніше див. У цій публікації: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/


Вибачте, але це приховує суть проблеми. Проблема існує лише в тому випадку, якщо ви залежаєте від своїх тестів на розроблювальній машині, щоб повідомити, коли працює ваша програма. Якщо ви зможете протестувати в оточенні, яким користуватимуться ваші клієнти (і я думаю, що більшість розробників на цій посаді), то у вас немає такої проблеми. Якщо у вас є будь-яка друга машина, на якій потрібно перевірити, включаючи віртуальну машину, це не проблема.
Джон Сондерс

4
@JohnSaunders - У нас є цілий відділ QA, який тестує на нашій цільовій платформі. Але багато досліджень показали, що різні види тестування виловлюють різні види помилок. Те, що я шукаю при налагодженні, не той самий рівень помилок, який збирається моя команда з питань якості. Знову ж таки, мої автоматизовані тести не помітять усіх речей, які я помічу під час налагодження. І нарешті, написання функції, яка залежить від помилки, яку ви не можете виправити, коштує $$$. Коли помилка виявлена, чим далі вона коштує від моєї машини розвитку. (Особливо, якщо я "закінчив" функцію.)
Vaccano

"Проблема існує лише в тому випадку, якщо ви залежаєте від своїх тестів на вашій машині розробки, щоб повідомити, коли працює ваша програма" - Чи ви маєте на увазі, що ви не тестуєте код на своїй розробці? - Це реальна проблема. Особливо для тих, хто про це не знає. (Оскільки Microsoft публічно не оголошує, це багато розробників.)
Vaccano

Тести, які я виконую на своїй розробці, не визначають, чи працює мій код чи ні. Вони лише визначають, наскільки ймовірним є те, що відділ QA знайде мої помилки протягом перших п'яти хвилин чи ні. Я тестую на власній машині, щоб зменшити збентеження. Це тести автоматизованого блоку в збірках і справжні тести QA, які визначають, чи передається мій код клієнтам. Ці тести включатимуть випробування в таких умовах, як у клієнтів. У цьому випадку це включає Windows XP та .NET 4.0.
Джон Сондерс

Вибачте, але якщо у вас є відділ із забезпечення якості, я взагалі не бачу вашої проблеми. Я не можу уявити, що існує так багато помилок .NET 4.0, виправлених .NET 4.5, що це коштувало б вам дуже великих грошей, якщо вам трапилося написати код, залежний від цих помилок. Якщо ви думаєте, що у вас виникне ця проблема, то перевіряйте рано та часто на Windows XP та .NET 4.0. Саме ті розробники ніколи не побачать помилок, які піддаються найбільшому ризику.
Джон Сондерс

10

Мене погано спалили бета-версії VS, ніколи не виникало неприємної проблеми з їх видаленням. Microsoft робить прекрасне програмне забезпечення, але інсталятор, здається, завжди є останнім, про що потрібно подбати. Проблеми, які я бачив, - це видалення не видалення компонентів, які потім накручують роздрібну версію, та інсталятор, не розраховуючи на інші встановлені продукти Microsoft та руйнуючи їх конфігурацію.

Це набагато раніше бета-версії, не встановлюйте його на машині, необхідній для завершення роботи. Що в значній мірі виключає встановлення VS2008. В.М., звичайно, добре.


2
Щойно я щось розмістив на форумах [ social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/…, тому що здається, що встановлення замінює збірки .NET Framework 4.0 (я думав, що я, напевно, був божевільний, але відкриваюся System.Core в Reflector виявив, що System.Runtime.CompilerServices.ExtensionAttribute відсутній). Коротше кажучи, будьте обережні там
Даміян

@Damian: Деякі проблеми, як це було з 3.0 і 3.5: Обидва по суті були лише додатковими функціями, заснованими на режимі виконання 2.0, але обидва вони постачалися разом із пакетом оновлень 2.0 (який можна було завантажити окремо для встановлення лише для 2.0), який дійсно змінився деякі речі під кришкою. Дивлячись на 4.0, це ще гірше: Microsoft просто мовчки постачав нові версії через оновлення Windows - оригінал 4.0.30319.1 був замінений на .225, .235 та .237 - кожна з них виправляла та вводила помилки чи принаймні іншу поведінку в конкретні райони.
springy76

7

Я встановив RC вчора і виявив таке:

Це змушує VS2010 заморожуватися під час запуску тестів одиниць (це можна вирішити за допомогою 2012 року або mstest у командному рядку для запуску тестів одиниці)

Це призводить до того, що VS2010 не може компілювати проекти C ++, не вдається з помилкою посилання . Навіть після видалення VS2012 RC ця проблема все ще зберігається ... тому я б радимо не встановлювати її прямо зараз


1
У мене була та сама проблема з тестами запуску одиниць у VS 2010 після встановлення VS 2012 RC. Щоб виправити це, видаліть testimpactdata.sdf з кореня вашого рішення та увімкніть тестовий вплив у своїх тестових налаштуваннях.
Сергій Сіроткін

2
Я зіткнувся з проблемою тестування, яку ви також описуєте. Я знайшов рішення - оновити до пакета оновлень 1 для Visual Studio 2010. Мабуть, це проблема в 2010 році, а не в 2012 році, але це просто викликано встановленням кандидата у випуск 2012 року. Ви повинні мати можливість встановити пакет оновлень навіть після встановлення VS 2012, і все-таки вирішити проблему. Я не дуже працюю з C ++ в наші дні, тому не можу коментувати, чи це теж виправлено. VS 2010 SP1 можна знайти тут: microsoft.com/en-us/download/details.aspx?id=23691
rbwhitaker

6

Отже, читаючи всі відповіді, зводиться до цього:

  • Після встановлення VS2012 .NET 4.5 замінить .NET 4.0.
  • Ви все ще можете використовувати VS2010, але він буде компілюватися проти .NET 4.5 (оскільки .NET 4.0 замінено).
  • Небезпека: Ви більше не можете безпечно розгортати свої проекти на машинах, на яких працює .NET 4.0.

5

Так, ви можете, але завжди рекомендується спочатку встановлювати більш ранні версії. Якщо ви хочете відкрити проект Visual Studio 2010 у VS 11, а потім знову знову, переконайтеся, що ви не використовуєте нові функції Visual Studio 11


2

Його можна встановити поруч, але це навіть не бета ..! Не чекайте, що це справді спрацює!

Дивіться цю проблему, яку ми маємо, і це згадував Даміан в іншому коментарі.


2

Я зробив це вчора, і видалив його сьогодні ...

Мабуть, щось пішло не так, оскільки деякі додатки, які я створив раніше, почали видавати дивні помилки щодо "не в змозі завантажити модуль bla bla bla ...", тому я видалив усе, змусив перевстановити .NET Framework 4.0 і тепер все працює нормально!


2

Це однозначно може викликати проблеми. Наприклад:

У .NET 4.0 щоразу, коли намагається зберегти значення перерахунку в LINQ-2-Entities, jup, ви здогадалися: ПОМИЛКА, коли у вас 4.0 ВЕЛИКИЙ УСПІХ при роботі на машині з встановленою 4.5 (так, навіть якщо збірка орієнтована на клієнта 4.0 профіль!)

Тому зверніть увагу при використанні цієї хорошої нової функції, яка не має зворотної сумісності.


2

Він добре працює на 32-бітній установці машини поруч, але колись ви можете помилитися, але перевстановивши або видаливши попередню інсталяцію, її можна буде встановити. Я робив це в середині проекту, і це також не впливає на попередню роботу.


0

Як було зазначено, офіційно можна, але це може спричинити проблеми.

Якщо ви хочете запустити Visual Studio 2012, я вважаю, що найбезпечнішим способом є використання безкоштовного WMWare VMplayer та встановлення на ньому Windows 8, а потім встановлення Visual Studio 2012 там. Вам потрібно щонайменше 4 ГБ оперативної пам’яті, але краще працювати з 8 Гб і більше. Це я все одно роблю.


Чи можете ви бути більш конкретними щодо проблем, які ви маєте на увазі?
Джон Сондерс

0

Моя основна проблема полягала в тому, що після встановлення VS2012 RTM більше не можна запускати тестові одиниці з VS2010! Він просто зависає назавжди. Не можу навіть зупинити це.

Так що зараз я б сказав, МС зробив це знову, поруч не працює.

Я думаю, це може бути пов’язано з тим, що це встановлення VS2010 без застосування SP1.


Чи можете ви конкретизувати, на які "тести VS2010" ви посилаєтесь?
Джон Сондерс

У мене також є ця проблема - намагання розглянути будь-які результати тестових результатів у відтворюваному вивісі як в vs2010, так і в vs2013 (усі останні виправлення / оновлення). я очікую кращого від вас.
fusi

0

Хороша новина - встановлення робить точку відновлення системи. Зовнішнє резервне копіювання жорсткого диска - це рішення, поки не вийде реальна версія або ви починаєте проект з нуля.


0

Я помітив, що рішення щодо Web & Loadtesting виявляються порушеними після встановлення VS2012. Зняли копії та оновили до 2012 року, і вони прекрасно працюють. Просто VS2010 вже не може ініціювати пробний запуск.


-1

Так, ви також можете без проблем відкрити проект з 2012 року в 2010 році. до тих пір, поки його все ще використовується .net 4.0.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.