Visual Studio 2012 có thể được cài đặt song song với Visual Studio 2010 không?


103

Visual Studio 2012 có can thiệp / phá vỡ .NET 4 và / hoặc Visual Studio 2010 nếu được cài đặt song song trên cùng một phiên bản Windows không?


1
vâng, cả hai đều hoạt động, thậm chí cùng một lúc. Tôi đã thử.
Eric Yin

3
Visual Studio có thể được cài đặt song song, nhưng nhận ra rằng VS 2012 đi kèm với .NET 4.5, ghi đè .NET 4.0. Không thành vấn đề trừ khi bạn vẫn cần phát triển cho các máy .NET 4.0.
Vaccano

4
Bạn vẫn có thể phát triển cho các máy .NET 4.0. Bạn chỉ cần biết rằng, khi bạn đang thử nghiệm ứng dụng .NET 4.0 trên máy VS2012 của mình, bạn sẽ thử nghiệm một phiên bản .NET khác với một khách hàng chưa bao giờ cài đặt .NET 4.5. Vì vậy, hãy thử nghiệm trên một chiếc máy như những máy mà khách hàng của bạn sẽ sử dụng, và bạn sẽ ổn.
John Saunders

ahhhh sự sang trọng của một khách hàng cung cấp một môi trường thử nghiệm hữu ích! Chúc may mắn với điều đó: P
JumpingJezza

11
Thật sai lầm khi nghĩ rằng .NET 4.5 hoàn toàn tương thích với .NET 4.0, nó không phải vậy, và trên thực tế, trong trường hợp của chúng tôi, nó đã phá vỡ một số giải pháp của chúng tôi.
Stefan Z Camilleri

Câu trả lời:


32

Như Reigo đã nói, có. Đây là liên kết đến trang chính thức của Microsoft với thông tin mà Reigo đã cung cấp và các chi tiết khác: http://msdn.microsoft.com/en-us/library/ms246609%28v=VS.110%29.aspx


36
Nó "có thể" được cài đặt cùng, có nghĩa là trình cài đặt sẽ chạy thành công. Tuy nhiên, bạn không nên làm điều này trừ khi bạn muốn dành hai ngày để gỡ cài đặt Visual Studio, .NET 4.5, sửa chữa khuôn khổ .NET 4.0 của bạn (KHÔNG được sửa đổi trực tiếp bởi bản cài đặt beta 4.5) và gỡ cài đặt rất nhiều công cụ SQL Server 2012 từng cái một. Tất cả sau khi mã 4.0 đang hoạt động trước đó của bạn bắt đầu gây ra lỗi "Tham chiếu đối tượng" trên một dòng chỉ chứa nhận xét.
mclark1129

8
Điều này rất nguy hiểm nếu bạn định tiếp tục phát triển cho .net 4.0. Điều này là do máy phát triển của bạn sẽ sử dụng tệp nhị phân .net 4.5 (vì .net 4.5 là bản nâng cấp tại chỗ). Các tệp nhị phân này có các bản sửa lỗi sẽ được "ẩn" khỏi bạn trong khi gỡ lỗi nhắm mục tiêu .net 4.0. Nhưng khi bạn triển khai cho một máy chỉ chạy .net 4.0 (tức là windows xp) thì những lỗi đó không được sửa cho người dùng của bạn . Xem bài đăng này để biết thêm chi tiết: social.msdn.microsoft.com/Forums/en-US/wpf/thread/…
Vaccano

2
Hãy thử nó trong một máy ảo. Tôi có thể xác nhận các vấn đề mà Mike C đã mô tả. Tôi cho rằng VS2012 sẽ an toàn để thử. Tôi đã gặp phải rất nhiều vấn đề khó chịu, cuối cùng tôi không tin tưởng máy của mình và cài đặt lại Windows.
kenchilada

2
Những vấn đề này có còn tồn tại với VS 2012 RTM không?
Tim Friesen

1
@TimFriesen - Sự cố mà tôi đã mô tả vẫn nằm trong RTM. Đó là một lỗ hổng thiết kế với kế hoạch nâng cấp "tại chỗ" mà Microsoft đã áp dụng cho .NET 4.5.
Vaccano

30

Bản phát hành .net 4.5 là bản nâng cấp tại chỗ.

Điều này có nghĩa là các mã nhị phân cho .net 4.0 sẽ được thay thế bởi các mã nhị phân cho .net 4.5 .

Microsoft đã cố gắng giảm thiểu các vấn đề mà điều này gây ra bằng cách tạo ra một tính năng "Target .net 4.0". Nhưng điều này rất khác so với việc nhắm mục tiêu các phiên bản trước của .net (đã cạnh nhau kể từ .net 2.0).

Vì là bản nâng cấp tại chỗ nên "Target .net 4.0" không thể thực sự nhắm mục tiêu nó. Điều tốt nhất họ có thể làm là cố gắng xóa thủ công một số "tính năng". Họ đã làm điều này (Scott Hanselman đã có một bài đăng trên blog về điều này).

Nhưng đừng để điều này đánh lừa bạn nghĩ rằng bạn đang thực sự sử dụng .net 4.0. Mọi lỗi được khắc phục bởi .net 4.5 sẽ được sửa trên máy phát triển của bạn chứ không phải cho người dùng .net 4.0 của bạn.

Vì vậy, nếu bạn đang phát triển một ứng dụng "nhắm mục tiêu .net 4.0" và bạn đã cài đặt .net 4.5 thì bạn sẽ gặp rủi ro. Nếu bạn vô tình sử dụng một lỗi đã sửa, nó sẽ không bị hỏng cho bạn trong khi gỡ lỗi.

Khi bạn triển khai ứng dụng của mình cho một máy chỉ chạy .net 4.0 (tức là windows xp) thì những lỗi đó không được sửa cho người dùng của bạn .

Đối với tất cả các ý định và mục đích, các lỗi đã sửa đó hiện là "Lỗi ẩn" (dành cho các nhà phát triển vẫn cần nhắm mục tiêu .net 4.0.

Phần tốt nhất là nó không thành vấn đề nếu bạn sử dụng VS 2010 hay VS 2012. Sau khi .net 4.5 được cài đặt, các lỗi sẽ bị ẩn.

Xem bài đăng này để biết thêm chi tiết: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/c05a8c02-de67-47a9-b4ed-fd8b622a7e4a/


Xin lỗi, nhưng điều này đang che giấu điểm của vấn đề. Vấn đề chỉ tồn tại nếu bạn phụ thuộc vào các bài kiểm tra trên máy phát triển của mình để cho bạn biết khi nào ứng dụng của bạn hoạt động. Nếu bạn có thể thử nghiệm trong môi trường mà khách hàng của bạn sẽ sử dụng (và tôi nghĩ hầu hết các nhà phát triển đều ở vị trí này), thì bạn không gặp vấn đề này. Nếu bạn có bất kỳ máy thứ hai nào để kiểm tra, kể cả máy ảo, thì đây không phải là vấn đề.
John Saunders,

4
@JohnSaunders - Chúng tôi có cả một bộ phận QA kiểm tra trên nền tảng mục tiêu của chúng tôi. Nhưng nhiều nghiên cứu đã chỉ ra rằng các loại thử nghiệm khác nhau bắt được các loại lỗi khác nhau. Những thứ tôi tìm kiếm khi gỡ lỗi không giống với mức độ lỗi mà nhóm QA của tôi sẽ tìm. Một lần nữa, các bài kiểm tra tự động của tôi sẽ không nhận thấy tất cả những điều tôi sẽ nhận thấy trong khi gỡ lỗi. Và cuối cùng, viết ra một tính năng phụ thuộc vào một lỗi mà bạn không thể sửa sẽ tốn $$$. Khi lỗi được tìm thấy, càng xa bộ máy phát triển của tôi thì nó càng đắt. (Đặc biệt là nếu tôi đã "hoàn thành" tính năng này.)
Vaccano,

"Vấn đề chỉ tồn tại nếu bạn phụ thuộc vào các bài kiểm tra trên máy phát triển của bạn để cho bạn biết khi nào ứng dụng của bạn hoạt động" - Bạn đang ngụ ý rằng bạn không kiểm tra mã trên máy phát triển của mình? -- Đây là một vấn đề thực sự. Đặc biệt là đối với những người không biết về nó. (Và vì Microsoft sẽ không công bố công khai nó, đó là nhiều nhà phát triển.)
Vaccano

Các bài kiểm tra mà tôi thực hiện trên máy phát triển của mình không xác định liệu mã của tôi có hoạt động hay không. Họ chỉ xác định khả năng bộ phận QA có tìm thấy lỗi của tôi trong năm phút đầu tiên hay không. Tôi kiểm tra trên máy của riêng mình để giảm bớt sự bối rối. Đó là các bài kiểm tra đơn vị tự động trong các bản dựng và các bài kiểm tra thực tế của QA sẽ xác định xem mã của tôi có được gửi đến khách hàng hay không. Các bài kiểm tra đó sẽ bao gồm các bài kiểm tra trong môi trường giống như môi trường của khách hàng. Trong trường hợp này, điều đó sẽ bao gồm Windows XP và .NET 4.0.
John Saunders

Tôi xin lỗi, nhưng nếu bạn có bộ phận QA, thì tôi hoàn toàn không thấy vấn đề của bạn. Tôi không thể tưởng tượng có rất nhiều lỗi .NET 4.0 được .NET 4.5 sửa đến mức bạn sẽ tốn rất nhiều tiền nếu tình cờ viết mã phụ thuộc vào những lỗi đó. Nếu bạn nghĩ rằng mình sẽ gặp sự cố đó, hãy kiểm tra sớm và thường xuyên trên Windows XP và .NET 4.0. Đó là những nhà phát triển sẽ không bao giờ nhìn thấy những lỗi có nguy cơ cao nhất.
John Saunders,

10

Tôi đã bị cháy nặng bởi VS betas, chưa bao giờ gặp vấn đề khó chịu khi gỡ cài đặt chúng. Microsoft tạo ra phần mềm tốt nhưng trình cài đặt dường như luôn là thứ cuối cùng được quan tâm. Các vấn đề mà tôi đã thấy là việc gỡ cài đặt không loại bỏ các thành phần sau đó làm hỏng phiên bản bán lẻ và trình cài đặt không tính trên các sản phẩm Microsoft đã cài đặt khác và phá hủy cấu hình của chúng.

Cái này là xa trước khi một phiên bản beta, đừng không cài đặt nó trên một máy bạn cần để có được công việc của bạn được thực hiện. Điều này không bao gồm việc cài đặt VS2008. VM là tốt tất nhiên.


2
Tôi vừa đăng một cái gì đó trên diễn đàn [ social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/… vì có vẻ như bản cài đặt thay thế các hội đồng .NET Framework 4.0 (tôi nghĩ chắc mình đã bị điên rồi nhưng mở ra System.Core trong Reflector tiết lộ rằng thiếu System.Runtime.CompilerServices.ExtensionAttribute). Nói tóm lại được ra khỏi cẩn thận có
Damian

@Damian: Đó là một số vấn đề như với 3.0 và 3.5: Cả hai về cơ bản chỉ là các tính năng bổ sung dựa trên thời gian chạy 2.0 nhưng cả hai đều đi kèm với gói dịch vụ 2.0 (có thể được tải xuống riêng cho các cài đặt chỉ 2.0). Điều này thực sự đã thay đổi một số điều dưới mui xe. Nhìn vào 4.0 nó thậm chí còn tồi tệ hơn: Microsoft chỉ âm thầm xuất xưởng một số phiên bản mới thông qua Windows Update - 4.0.30319.1 ban đầu được thay thế bằng .225, .235 và .237 - mỗi phiên bản trong số họ sửa và giới thiệu lỗi hoặc ít nhất là hành vi khác nhau trong các lĩnh vực cụ thể.
springy76

7

Tôi đã cài đặt RC ngày hôm qua và tìm thấy những thứ sau:

Nó khiến VS2010 bị đóng băng khi chạy các bài kiểm tra đơn vị (điều này có thể được khắc phục bằng cách sử dụng 2012 hoặc mstest trên dòng lệnh để chạy kiểm tra đơn vị của bạn)

Nó khiến VS2010 không thể biên dịch các dự án C ++, không thành công với lỗi liên kết . Ngay cả sau khi gỡ cài đặt VS2012 RC, sự cố này vẫn tiếp diễn ... vì vậy tôi khuyên bạn không nên cài đặt nó ngay bây giờ


1
Tôi đã gặp vấn đề tương tự với việc chạy thử nghiệm đơn vị trong VS 2010 sau khi tôi cài đặt VS 2012 RC. Để khắc phục điều này, hãy xóa explorempactdata.sdf khỏi thư mục gốc của giải pháp của bạn và bật Tác động thử nghiệm trong cài đặt thử nghiệm của bạn.
Sergey Sirotkin

2
Tôi đã gặp sự cố thử nghiệm mà bạn cũng đang mô tả. Giải pháp tôi tìm thấy là nâng cấp lên Visual Studio 2010 Service Pack 1. Rõ ràng đó là một vấn đề xảy ra vào năm 2010, không phải năm 2012, nhưng nó chỉ được kích hoạt bằng cách cài đặt ứng cử viên phát hành 2012. Bạn sẽ có thể cài đặt gói dịch vụ ngay cả sau khi VS 2012 được cài đặt và vẫn khắc phục được sự cố. Tôi không làm nhiều với C ++ những ngày này, vì vậy tôi không thể bình luận nếu điều đó đã được khắc phục. VS 2010 SP1 có thể được tìm thấy ở đây: microsoft.com/en-us/download/details.aspx?id=23691
rbwhitaker

6

Vì vậy, đọc tất cả các câu trả lời, nó đi đến điều này:

  • Sau khi cài đặt VS2012, .NET 4.5 sẽ ghi đè lên .NET 4.0.
  • Bạn vẫn có thể sử dụng VS2010, nhưng nó sẽ biên dịch dựa trên .NET 4.5 (vì .NET 4.0 được thay thế).
  • Nguy hiểm: Bạn không thể triển khai các dự án của mình trên các máy chạy .NET 4.0 một cách an toàn nữa.

5

Có, bạn có thể, nhưng bạn nên cài đặt các phiên bản cũ hơn trước. Và nếu bạn muốn mở dự án Visual Studio 2010 trong VS 11, rồi sau đó quay lại, hãy đảm bảo rằng bạn không sử dụng các tính năng mới của Visual Studio 11


2

Nó có thể được cài đặt song song nhưng nó thậm chí không phải là phiên bản beta ..! Đừng mong đợi nó thực sự hoạt động!

Xem này vấn đề chúng ta đang gặp phải, và đây được đề cập bởi Damian trong bình luận khác.


2

Tôi đã làm điều đó ngày hôm qua và gỡ cài đặt nó hôm nay ...

Có vẻ như đã xảy ra sự cố vì một số ứng dụng mà tôi đã xây dựng trước đó bắt đầu gặp lỗi lạ liên quan đến "không thể tải mô-đun bla bla bla ...", vì vậy tôi đã gỡ cài đặt mọi thứ, buộc cài đặt lại .NET Framework 4.0 và bây giờ tất cả đều hoạt động tốt trở lại!


2

Nó chắc chắn có thể gây ra vấn đề. Ví dụ:

Trong .NET 4.0, bất cứ khi nào người ta cố gắng lưu một giá trị enum trong LINQ-2-Entities, jup, bạn đoán nó: LỖI khi bạn có 4.0 THÀNH CÔNG TUYỆT VỜI khi làm việc trên máy có cài đặt 4.5 (có mặc dù lắp ráp nhắm mục tiêu máy khách 4.0 Hồ sơ!)

Vì vậy, hãy chú ý khi sử dụng tính năng mới tốt này mà không có tính năng tương thích ngược nào.


2

Nó hoạt động tốt trên máy 32-bit cài đặt song song nhưng đôi khi bạn có thể gặp lỗi nhưng cài đặt lại hoặc gỡ cài đặt trước đó nó có thể được cài đặt. Tôi đã làm nó trong thời gian giữa của dự án và nó không ảnh hưởng đến công việc trước đó.


0

Như đã nói, chính thức bạn có thể nhưng nó có thể gây ra vấn đề.

Nếu bạn muốn chạy Visual Studio 2012, tôi nghĩ cách an toàn nhất là sử dụng WMWare VMplayer miễn phí và cài đặt Windows 8 trên đó rồi cài đặt Visual Studio 2012 ở đó. Bạn cần ít nhất 4 GB RAM nhưng chạy tốt hơn với 8 GB trở lên. Đó là những gì tôi làm.


Bạn có thể nói cụ thể hơn về những vấn đề bạn đang đề cập đến không?
John Saunders,

0

Vấn đề chính của tôi là không còn có thể chạy các bài kiểm tra đơn vị từ VS2010 sau khi cài đặt VS2012 RTM! Nó chỉ bị treo mãi mãi. Thậm chí không thể ngăn chặn nó.

Vì vậy, bây giờ tôi sẽ nói, MS đã làm điều đó một lần nữa, song song không hoạt động.

Tôi nghĩ rằng điều này có thể là do đây là cài đặt VS2010 mà không áp dụng SP1.


Bạn có thể nói cụ thể về "các thử nghiệm từ VS2010" mà bạn đang đề cập đến không?
John Saunders,

tôi cũng gặp phải vấn đề này - cố gắng xem xét bất kỳ kết quả đầu ra thử nghiệm nào có thể lặp lại ở cả vs2010 và vs2013 (tất cả các bản vá / cập nhật mới nhất). tôi mong đợi tốt hơn từ bạn microsoft.
fusi

0

Tin tốt là cài đặt tạo ra một điểm khôi phục hệ thống. Sao lưu ổ cứng ngoài là giải pháp cho điều này cho đến khi phiên bản thực ra mắt hoặc bạn đang bắt đầu một dự án từ đầu.


0

Tôi nhận thấy rằng các giải pháp Web & Loadtesting có vẻ bị hỏng sau khi cài đặt VS2012. Đã sao chép và nâng cấp lên 2012 và chúng hoạt động tốt. Nó chỉ là VS2010 không còn có thể bắt đầu chạy thử nghiệm.


-1

Có, bạn cũng có thể dễ dàng mở một dự án từ năm 2012 vào năm 2010 mà không gặp vấn đề gì. miễn là nó vẫn sử dụng .net 4.0.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.