Chuyển đổi giải pháp VS2012 sang VS2010


127

Tôi đang làm việc trong dự án VB với VS 2012 và sau khi kết thúc, tôi cố gắng thêm dự án thiết lập.

Tôi không tìm thấy nó (vì Dự án thiết lập đã bị ngừng sau VS2010) vì vậy tôi đã chuyển sang VS2010 nhưng vấn đề là dự án không mở và tôi nhận được thông báo này:

Tệp đã chọn là tệp giải pháp nhưng được tạo bởi phiên bản mới hơn của ứng dụng này và không thể mở được.

Tôi đã thử bài viết này: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 và đã cố gắng chuyển đổi từ năm 2012 đến 2010 nhưng cùng một thông báo xuất hiện.


Tại sao bạn không sử dụng VS2010 để tạo một dự án thiết lập duy nhất - theo như tôi nhớ bạn không cần phải bao gồm các dự án và có thể tự thêm các tệp
Carsten

được rồi, đây có thể là một công việc xoay quanh ý tưởng là chúng tôi luôn bao gồm thiết lập với dự án trong cùng một giải pháp để thực hiện việc biên dịch / triển khai nhanh chóng
HokaHelal

1
Bạn có sp1 trên vs2010 không? Tôi nghĩ bạn cần gói dịch vụ cho nó để mở tệp dự án / giải pháp 2012.
Georgi Stoyanov

Câu trả lời:


306

Tôi cũng phải đối mặt với vấn đề tương tự. Tôi googled nhưng không thể tìm thấy giải pháp. Vì vậy, tôi đã cố gắng một mình và đây là giải pháp của tôi.

Mở tệp giải pháp cho bạn trong notepad. Thực hiện 2 thay đổi

  1. Thay thế "Định dạng phiên bản 12.00" bằng "Định dạng phiên bản 11.00" (không có dấu ngoặc kép.)
  2. Thay thế "# Visual Studio 2012" bằng "# Visual Studio 2010" (không có dấu ngoặc kép.)

Hy vọng điều này sẽ giúp bạn là tốt ..........


3
Có một nhược điểm để làm điều này? Có vẻ như quá dễ dàng để trở thành sự thật.
kbeal2k

4
Nó không hoạt động với tôi nó vẫn duy trì nó không tương thích?
David

3
Cảm ơn vì mẹo này! Hoạt động ngay cả để hạ cấp một dự án api web ASP.NET. Ngoài việc điều chỉnh Định dạng Phiên bản 12.00 thành Định dạng Phiên bản 11.00 trong sln và điều chỉnh phần tử TargetFrameworkVersion trong csproj từ 4.5> 4.0; Tôi đã phải xóa phần tử httpR.78 trong web.config và điều chỉnh thuộc tính biên dịch targetFramework trong web.config từ 4.5> 4.0
AardVark71

2
Tuyệt vời, không thể tin rằng không có khả năng tương thích ngược mặc dù.
Stephen Murby

1
Tôi vừa rơi vào cái bẫy này bằng cách sử dụng VS2013 - đã thay đổi Định dạng trở lại thành 11 và mọi thứ đã ổn trở lại trong VS2010 - cảm ơn!
Surfbutler

121

Chỉ cần giải thích câu trả lời xuất sắc của Bhavin - chỉnh sửa tệp giải pháp hoạt động nhưng bạn vẫn có thể gặp lỗi không tương thích (như David đã báo cáo) nếu bạn đã chọn .NET 4.5 làm phiên bản .NET mặc định trong dự án VS2012 của bạn và môi trường VS2010 của bạn không ủng hộ điều đó

Để nhanh chóng khắc phục điều đó, hãy mở tệp VS2012 .csproj trong trình chỉnh sửa văn bản và thay đổi TargetFrameworkVersion xuống 4.0 (từ 4.5). VS2010 sau đó sẽ vui vẻ tải các giải pháp và dự án "đã chỉnh sửa".

Bạn cũng sẽ phải chỉnh sửa các tệp app.config có tham chiếu đến .NET 4.5 theo cách tương tự để cho phép chúng chạy trên môi trường .NET 4.0.


5
Điều này cùng với câu trả lời của Bhavin đã hoạt động hoàn hảo. Cảm ơn cả hai người.
desaivv

2
Cảm ơn vì mẹo này! Hoạt động ngay cả để hạ cấp một dự án api web ASP.NET. Ngoài việc điều chỉnh Định dạng Phiên bản 12.00 thành Định dạng Phiên bản 11.00 trong sln và điều chỉnh phần tử TargetFrameworkVersion trong csproj từ 4.5> 4.0; Tôi đã phải xóa phần tử httpR.78 trong web.config và điều chỉnh thuộc tính biên dịch targetFramework trong web.config từ 4.5> 4.0
AardVark71

Ngoài ra, bạn có thể, như tôi đã làm, phải duyệt qua các tệp .vcproj của bạn và thay đổi bộ công cụ nền tảng từ v110 thành v100.
Xyon

2

Tôi đã có một vấn đề tương tự và không có giải pháp nào ở trên hoạt động, vì vậy tôi đã sử dụng chế độ chờ cũ luôn hoạt động:

  1. Đổi tên thư mục chứa dự án
  2. Thực hiện một dự án hoàn toàn mới cùng tên với năm 2010
  3. Diff hai thư mục và->
  4. Sao chép tất cả các tệp nguồn trực tiếp
  5. Bỏ qua bin / gỡ lỗi / phát hành, vv
  6. Khác biệt .csproj và sao chép trên tất cả các dòng có liên quan.
  7. Nếu tệp .sln chỉ có một dự án, hãy bỏ qua nó. Nếu nó phức tạp, thì nó cũng khác.

Điều đó hầu như luôn hoạt động nếu bạn đã dành 10 phút cho nó và không thể có được nó.

Lưu ý rằng đối với các sự cố tương tự với các phiên bản cũ hơn (2008, 2005), bạn thường có thể thoát khỏi việc chỉ thay đổi phiên bản trong .csproj và thay đổi phiên bản trong .sln hoặc loại bỏ nó, nhưng điều này dường như không hoạt động trong năm 2013 .


2

giải pháp đơn giản nhất là ..... mở trang web của bạn trong vs2013 và đi đến Debug-> WebsiteProperIES (tùy chọn cuối cùng) một cửa sổ mới sẽ mở ra ..

trong cửa sổ này, hãy chuyển đến tùy chọn "Build" và thay đổi phiên bản khung .net từ 4.5 thành 4.0 ..... sau đó chọn ok. [lưu ý: bước này sẽ chỉ hoạt động nếu dự án của bạn không có phụ thuộc với vs2013 ...]

Bây giờ hãy mở trang web của bạn trong vs2010


1

Mở tệp dự án và không phải là giải pháp. Dự án sẽ được Trình hướng dẫn chuyển đổi và sau khi được chuyển đổi, khi bạn xây dựng dự án, một Giải pháp mới sẽ được tạo dưới dạng VS2010.


1

Giải pháp của VS2010 được hỗ trợ bởi VS2012. Giải pháp của VS2012 không được VS2010 hỗ trợ -> chỉ nâng cấp một chiều. VS2012 không hỗ trợ các dự án thiết lập. Tìm thêm ở đây về khả năng tương thích VS2010 / VS2012: http://msdn.microsoft.com/en-us/l Library / hh266747 (v = vs.110) .aspx


1
Đọc qua tài liệu đó nói rằng có những thứ sẽ hoạt động tốt giữa cả hai - nghĩa là bạn có thể tạo một dự án / giải pháp trong VS2012 và mở nó mà không gặp vấn đề gì trong VS2010. Tuy nhiên, tài liệu chỉ ra rằng có những thứ, nếu được sử dụng vào năm 2012, sẽ không cho phép bạn mở vào năm 2010 stackoverflow.com/questions/10902865/ Lỗi là một câu trả lời đơn giản, tốt khác.
brazilianldsjaguar

Nếu bạn đọc nó một cách cẩn thận, thì bạn sẽ thấy một sự khác biệt nhỏ: các dự án được tạo trong VS2010 hoạt động trong VS2012, chứ không phải theo cách khác. "... bạn có thể mở một dự án đã được tạo trong Visual Studio 2010 SP1 ..."
Piotr Lewandowski

0

Giải pháp đơn giản mà làm việc cho tôi.

  1. Cài đặt trình soạn thảo Vim cho windows.
  2. Mở giải pháp dự án VS 2012 bằng trình soạn thảo Vim và sửa đổi phiên bản nhắm mục tiêu giải pháp Visual studio 10.
  3. Giải pháp mở với Visual studio 2010 .. và tiếp tục với công việc của bạn;)

Tại sao Vim và không chỉ notepad?
Zac
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.