Vì tôi đã nâng cấp dự án của mình lên định dạng dự án studio hình ảnh 2010, dự án C++/CLI của tôi được nhắm mục tiêu đến .net framework 4.0. Thật dễ dàng để chuyển phiên bản khung thành phiên bản khác từ dự án C#, nhưng tôi không có đầu mối làm thế nào để thực hiện điều này trong dự án C++/CLI, tôi không thấy cài đặt này trong trang thuộc tính dự án.Thay đổi dự án C++/CLI sang một khung công tác khác hơn 4.0 với vs2010
Trả lời
này xuất hiện khi bạn nhấn F1 trong khung và tài liệu tham khảo thoại:
Theo mặc định cho các dự án mới, khuôn khổ mục tiêu được thiết lập để .NET Framework 4. IDE không hỗ trợ sửa đổi khung được nhắm mục tiêu, nhưng bạn có thể thay đổi nó theo cách thủ công. Trong tệp dự án (.vcxproj), khung được nhắm mục tiêu mặc định được thể hiện bằng phần tử thuộc tính v4.0. Để thay đổi khung được nhắm mục tiêu, dỡ bỏ dự án, hãy sử dụng trình soạn thảo văn bản để mở tệp dự án và sau đó thay đổi giá trị của phần tử property từ v4.0 sang phiên bản khác được cài đặt trên máy chủ của bạn. Ví dụ, nếu bạn chỉ định v3.5, đại diện cho Khuôn khổ .NET v3.5, Visual Studio 2008 SP1 phải được cài đặt. Lưu và đóng tập tin, tải lại dự án và xác minh rằng khuôn khổ mục tiêu được hiển thị trong trang bất động sản. *
Đó không phải là khủng khiếp chính xác về dự án được chuyển đổi, bạn sẽ có thêm các yếu tố <TargetFrameworkVersion>
mình. Đặt nó trong PropertyGroup nhãn "Globals":
<PropertyGroup Label="Globals">
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<others...>
</PropertyGroup>
Câu chuyện là khác nhau khi bạn sử dụng VS2012 trở lên, phiên bản đầu tiên của VS mà mua Nền tảng Toolset thiết lập trong trang thuộc tính chung. Sau đó, bạn phải chọn "v90" để có được bản dựng phù hợp nhắm mục tiêu 3,5.Đó là tuy nhiên vụng về, bạn phải có tất cả các phiên bản trung gian của VS được cài đặt trên máy để có lựa chọn đó.
Tại sao bạn cần cài đặt VS2008 yêu cầu giải thích bằng chính nó. Vấn đề cốt lõi là thư viện thời gian chạy C (msvcrt100.dll và lên) chứa mã .NET để hỗ trợ thực thi mã được quản lý. Các chi tiết quan trọng là một bộ khởi tạo mô-đun đảm bảo CRT được khởi tạo chính xác trong chương trình sử dụng mã C++/CLI. Mã đó luôn nhắm mục tiêu .NET 4 và vì nó được nướng vào msvcrt100.dll (và lên), bạn luôn có sự phụ thuộc vào rock-hard trên thời gian chạy v4.0.30319. Bạn chỉ có thể có sự phụ thuộc v2.0.50727 thuần túy khi bạn sử dụng thời gian chạy C cũ, msvcrt90.dll. Bạn chỉ có thể chắc chắn rằng bạn có một phụ thuộc msvcrt90.dll khi bạn sử dụng #include của trình biên dịch của VS2008.
Thực tế khó khăn là rất cần thiết để chuyển sang .NET 4 sớm, bạn sẽ gặp khó khăn với các vấn đề về xây dựng như thế này nếu bạn không. Có rất ít trở ngại thực tế đối với điều đó, .NET 4 có sẵn miễn phí trên tất cả các mục tiêu mà bạn tưởng tượng. Vượt qua FUD có liên quan đến việc chuyển sang phiên bản thời gian chạy cao hơn thường chỉ là vấn đề thực sự. Không có lý do cho sự sợ hãi và nghi ngờ, nó là ổn định.
Có nó có thể thay đổi mục tiêu ngay cả đối với quản lý C++ Dự án:
Thay đổi khung Target NET cho C++/CLI (VS 2010) Để thay đổi phiên bản của .NET Framework cho C++/CLI dự án (VS 2010)
nhấp chuột phải vào dự án trong Solution Explorer và nhấp vào dự án Unload nhấp chuột phải vào dự án dỡ trong Solution Explorer và chọn Edit
<projectname>.vcxproj
Trong dự án XML tập tin xác định vị trí nút<PropertyGroup Label="Globals">
Trong nút đó xác định vị trí nút<TargetFrameworkVersion>
(nếu nút không thể được tìm thấy, thêm nó) Nội văn bản của nút xác định mục tiêu khuôn khổ. Nó có thể là v2.0, v3.0, v3.5 hoặc v4.0 Lưu tập tin vcxproj và đóng nó Nhấp chuột phải vào dự án dỡ trong Solution Explorer và nhấn Reload Dự án Ví dụ<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
Lưu ý: Những các bước chỉ áp dụng cho Visual Studio 2010 vì nó sử dụng định dạng mới của tệp dự án C++.
Trong VS 2010 nếu bộ công cụ được cài đặt, hãy chuyển đến thuộc tính dự án-> cấu hình thuộc tính-> chung và thay đổi Platform Toolset từ v90 thành v100.
bởi một người dùng vô danh:
(Editing vì tôi là một người dùng mới và không thể đáp ứng với điều này, bất cứ ai nhìn thấy điều này cảm thấy tự do để nộp sau) Thay đổi Toolset để V100 thực sự gây VS2010 để nhắm mục tiêu. NET 4.0, mặc dù nó vẫn sẽ hiển thị như nhắm mục tiêu 3,5 trong thuộc tính dự án. VS2010 sẽ thực sự nhổ ra một cảnh báo về điều này, bởi vì hiện tại nó xuất hiện như bạn mặc dù bạn có thể nhắm mục tiêu .NET 3.5 với bộ công cụ v100, mà bạn không thể.
Điều này là do đa nhắm mục tiêu chỉ cho phép bạn nhắm mục tiêu V2.0, 3.0, 3.5 và 4.0; Các phiên bản 1.x của .Net không thể được nhắm mục tiêu theo cách này –
- 1. VS2008 để chuyển đổi dự án VS2010
- 2. Hạ cấp dự án MVC từ Khung 4.5 sang 4.0
- 3. Chuyển đổi dự án C++ từ khung 4.0 đến 3.5
- 4. Thêm khung công tác ZXingObjC vào một dự án
- 5. Tài nguyên hội họp FileNotFoundException trong dự án nâng cấp lên khung công tác VS 2010 4.0
- 6. Làm cách nào để di chuyển một Tham chiếu Web từ dự án này sang dự án khác trong VS2010?
- 7. Khi nào là một dự án PHP quá nhỏ cho một khung công tác?
- 8. Tạo một dự án hiện có một khung công tác iOS
- 9. AnkhSVN: di chuyển một dự án sang một repo khác
- 10. Sao chép (các) tệp từ dự án này sang dự án khác bằng sự kiện xây dựng bài đăng ... VS2010
- 11. Sao chép tệp từ một dự án này sang một dự án khác trong maven
- 12. Thêm MOQ vào dự án .NET 4.0 là không thể
- 13. Sao chép các tệp iPhone CoreData từ một dự án sang một dự án khác
- 14. Thay đổi đường dẫn đầu ra trong dự án web trong VS2010
- 15. Thay đổi số dự án gần đây được hiển thị trên VS2010 Trang bắt đầu
- 16. Có thể sao chép Mẫu mục công việc từ dự án này sang dự án khác không?
- 17. Tôi có nên sử dụng một khung công tác không?
- 18. C#: Cách chuyển đổi dự án trang web sang một Dự án Web
- 19. VS2010: Loại trừ một dự án khỏi xây dựng
- 20. Bạn nên giới thiệu khung công tác xác thực nào cho các dự án .net?
- 21. Eclipse hoàn tác các thay đổi đối với dự án vào thời gian cụ thể?
- 22. Chuyển đổi dự án Java sang một dự án Web động
- 23. VS2010 và VS2008 tương thích dự án
- 24. Cách tích hợp SockJS với một khung công tác web khác
- 25. VS2010 hội tham khảo giữa các dự án thất bại
- 26. Cách chuyển đổi dự án java sang dự án Maven hoặc tương tự
- 27. Thiết kế khung công tác GUI
- 28. VS2010 thay đổi tham chiếu tệp tài nguyên thành Phiên bản 4.0 mặc dù nhắm mục tiêu 3.5 Khung
- 29. Chuyển đổi dự án Visual Studio sang ASP.NET MVC
- 30. Tại sao Azure Thêm> Dự án vai trò công nhân trong giải pháp… chuyển sang màu xám trong VS2010?
Bây giờ tôi đã thực hiện các bước này nhưng bây giờ tôi gặp lỗi "MSB8009: .NET Framework 2.0/3.0/3.5 nhắm mục tiêu bộ công cụ nền tảng v90. Hãy đảm bảo rằng Visual Studio 2008 được cài đặt trên máy". Tôi không có VS2008. – codymanix
Trích dẫn từ câu trả lời của tôi: * "Visual Studio 2008 SP1 phải được cài đặt". * Bạn đang thiếu các công cụ xây dựng cần thiết. –
Có thể bạn cũng sẽ cần xóa tệp .suo và giải pháp mở lại. Như trong trường hợp của tôi. – alehro