Dự án sao chép Visual Studio


141

Tôi muốn tạo một bản sao của dự án của tôi. Tôi thà không bắt đầu làm từ đầu bằng cách thêm tệp và tài liệu tham khảo, v.v. Xin lưu ý rằng tôi không có nghĩa là sao chép để triển khai. Chỉ cần sao chép đơn giản.

Có một công cụ trong VS để làm điều này? Tôi đang sử dụng VS 2008

Câu trả lời:


144

Nếu bạn muốn có một bản sao, cách nhanh nhất để làm điều này là lưu dự án. Sau đó tạo một bản sao của toàn bộ điều trên Hệ thống tệp. Quay trở lại Visual Studio và mở bản sao. Từ đó, rất có thể tôi khuyên bạn nên đặt lại tên dự án / giải pháp để bạn không có hai tên giống nhau, nhưng đó là cách nhanh nhất để tạo một bản sao.


25
Điều gì xảy ra với ProjectGUID?
Lars Corneliussen

4
Đừng quên xóa các tập tin svn nếu bạn có bất kỳ (tôi đã làm!) -> weblogs.asp.net/jgalloway/archive/2007/02/24/
Kẻ

51
Dự án GUID được VS tự động cập nhật, nếu một dự án khác có cùng GUID tồn tại trong cùng một giải pháp.
Sebastian Krysmanski

3
Tôi đang thử điều này, nhưng nó không đổi tên các không gian tên ứng dụng. Không phải những gì tôi đang tìm kiếm.
Jason

3
HƯỚNG DẪN Dự án KHÔNG ĐƯỢC TỰ ĐỘNG CẬP NHẬT B VSNG VS trong Cộng đồng 2017 Phiên bản 15.8.4. Trong thực tế, làm thế nào có thể nếu Hội nghịInfo.cs của bạn nằm trong sự kiểm soát mã nguồn?
PeterVermont

134

Chỉ cần tạo một mẫu ;

Từ dự án của bạn đã chọn: Dự án - Xuất mẫu

Trình hướng dẫn sẽ cho phép bạn xác định

  • Tên mẫu
  • Mô tả mẫu
  • Biểu tượng
  • Xem trước hình ảnh

Sau đó, nó kéo dự án của bạn vào thư mục 'Mẫu đã xuất của tôi'. Bạn cũng có tùy chọn để làm cho mẫu của bạn có sẵn khi bạn tạo một dự án mới.

Khi bạn sử dụng mẫu của mình để tạo dự án mới, không gian tên sẽ chính xác cho 'your_new_project_name' trong mỗi tệp, tất cả các tham chiếu đều chính xác, mọi thứ đều hoàn hảo :)

Bạn có thể gửi tệp .zip cho bất kỳ ai và họ phải sao chép (không giải nén) tệp .zip vào thư mục Mẫu \ ProjectTem mẫu để họ sử dụng.

Tôi đã tạo một mẫu ASP.NET MVC với các thư mục, trang bố cục, viewmodels, vv sắp xếp theo cách tôi thích chúng.

LƯU Ý:
Nếu bạn có một thư mục trống trong dự án của mình, nó sẽ không được thêm vào mẫu, vì vậy tôi chỉ cần thêm một lớp trống phù hợp với từng thư mục và ảnh mẫu cho thư mục ảnh.


28
IMO, câu trả lời tốt nhất.
fischgeek

14
Trong VS2017, Mẫu xuất khẩu nằm trong mục menu cấp cao nhất của Dự án.
Choco

3
Điều này là vô cùng hữu ích, làm thế nào tôi không biết về điều này trước đây? Cảm ơn!
Aldarrion

5
Đây nên là câu trả lời được lựa chọn. Rất dễ! Quá trình này cũng đã sao chép nó vào thư mục Mẫu \ ProjectTem mẫu của bạn, chỉ cần đảm bảo. Tôi đã phải khởi động lại Visual Studio của mình để xem nó trong hộp thoại tạo dự án của tôi.
midoriha_senpai

3
Khi đến lúc nhập mẫu để tạo dự án mới, tôi không thể tìm ra cách thực hiện. Hóa ra tôi phải sử dụng thanh tìm kiếm trong hộp thoại Dự án mới để định vị mẫu.
Tawab Wakil

6

Tôi đoán nếu đây là việc bạn làm thường xuyên, có một tiện ích nhỏ (không miễn phí) hứa sẽ làm điều đó cho bạn: Tôi chưa sử dụng nó, vì vậy không chắc nó tốt như thế nào:

http://www.kinook.com/CopyWiz/

Ngoài ra còn có dự án này trên CodePlex:

http://clone.codeplex.com/

Tôi có thể sẽ thử dự án codeplex, và nếu nó không hoạt động, tôi sẽ tự đổi tên mọi thứ và chỉnh sửa tệp sln.


Ứng dụng codeplex "Solution Clone" hoạt động khá tốt. Nó sao chép và đổi tên tất cả các tập tin giải pháp và giữ tất cả các tài liệu tham khảo. Điều duy nhất tôi cần làm là bổ sung nó vào tệp dự án được đổi tên mới sau khi mở giải pháp sao chép và sau đó đổi tên tên tập hợp và không gian tên gốc trong thuộc tính dự án. Nó dễ dàng hơn nhiều so với làm mọi thứ bằng tay mặc dù.
Fütemire

4

Rất khó để sao chép các dự án vì một số tệp cấu hình được hình thành bên trong như .csproj, .vspscc, v.v. có thể (và rất có thể sẽ) trỏ đến các tham chiếu thuộc về vị trí của các giải pháp trước đó và các đường dẫn / vị trí khác trong hệ thống hoặc TFS. Trừ khi bạn là một chuyên gia đọc các tệp này và sửa các tài liệu tham khảo, đừng cố gắng sao chép các dự án.

Bạn có thể tạo một dự án khung xương cùng loại mà bạn định sao chép, điều này tạo ra một tệp .csproj, .vspscc thích hợp . Bây giờ bạn có thể tự do sao chép các tệp lớp, tập lệnh và nội dung khác từ dự án trước vì chúng sẽ không ảnh hưởng. Điều này sẽ đảm bảo việc xây dựng và kiểm soát phiên bản trơn tru (nếu bạn chọn quan tâm đến điều đó)

Đã nói tất cả những điều này, hãy để tôi cung cấp cho bạn phương pháp sao chép dự án bằng mọi cách theo cách khôn ngoan:

  1. Đi đến dự án bạn muốn sao chép trong giải pháp thám hiểm và nhấp chuột phải .
  2. Bây giờ, chọn ' Mở thư mục trong File Explorer ' (Giả sử bạn có giải pháp được ánh xạ tới một đường dẫn cục bộ trên đĩa của bạn).
  3. Chọn các Dự án bạn muốn sao chép toàn bộ thư mục (cùng với tất cả các phụ thuộc, tệp bin .vspscc, tệp .csproj)
  4. Dán chúng vào vị trí mong muốn của bạn (nó có thể là thư mục giải pháp tương tự hoặc thậm chí là thư mục giải pháp khác. Nếu nó nằm trong cùng thư mục giải pháp, thì bạn sẽ được yêu cầu đổi tên nó, cũng như .csproj và các tệp nội bộ khác thành tên mới ).
  5. Không quay lại Visual Studio, Nhấp chuột phải vào Giải pháp> Thêm> Dự án hiện tại ...
  6. Duyệt và chọn tệp Dự án (tệp .csproj) ngay từ vị trí bạn đã đặt và chọn ' mở '
  7. Tập tin này hiện xuất hiện trong trình khám phá giải pháp để bạn làm việc.

Bây giờ bạn có thể phải giải quyết một vài lỗi xây dựng có thể với các tham chiếu và nội dung bị trùng lặp / thiếu nhưng nếu không thì nó còn nguyên sơ trong logic và cấu trúc như bạn mong đợi.


2
Cập nhật: Câu trả lời tốt nhất tính đến năm 2019, là câu trả lời dưới đây của @Shane. Tạo các mẫu VS là cách hoàn hảo để sao chép các dự án mà không có vấn đề tham khảo.
Vikram K

3

Tôi làm theo các bước này và tôi sử dụng công cụ phát triển có tên Resharper , thật tuyệt vời:

Vì thế,

  1. Sao chép thư mục dự án hiện có vào đích bạn muốn
  2. Đi tới kiểm soát nguồn và chỉ cần nhấp chuột phải vào thư mục gốc bạn muốn và chọn "Thêm mục vào thư mục ...". Sau đó, một trình hướng dẫn sẽ xuất hiện để chọn các tệp để sao chép (không cần một số tệp và thuật sĩ hướng dẫn bạn vì lý do đó theo mặc định).
  3. Thay đổi tên của tệp giải pháp (* .sln)
  4. Thay đổi tên của các dự án phụ nếu tồn tại.
  5. Sử dụng Resharper để thay đổi tên không gian tên ràng buộc (Tôi sẽ tự động thực hiện công việc bẩn một cách an toàn). Cách khác là thay đổi thủ công tất cả các không gian tên bằng tên mới.
  6. Hành động tương tự với tên phương thức.
  7. Kiểm tra thuộc tính của giải pháp nếu bạn muốn thay đổi.

Đó là nó. Bạn đã sẵn sàng!!!


1

Cách tốt nhất là thực sự tạo một Project mới từ đầu, sau đó vào thư mục chứa các tệp dự án bạn muốn sao chép (dự án, form1, mọi thứ trừ các thư mục). Đổi tên các tệp (Ngoại trừ các tệp form1) chẳng hạn: Tôi đã sao chép các tệp Ch4Ex1 vào dự án Ch4Ex2 của mình nhưng trước tiên đổi tên các tệp thành Ch4Ex2. Sao chép và dán các tệp đó vào Solution Explorer cho dự án mới trong Visual Studio. Sau đó, chỉ cần ghi đè lên các tập tin và bạn nên đi!

Chủ đề cũ nhưng tôi hy vọng nó sẽ giúp bất cứ ai tìm kiếm câu trả lời này!


0

Tôi có một dự án trong đó các tệp nguồn nằm trong một thư mục bên dưới thư mục dự án. Khi tôi sao chép thư mục dự án mà không có thư mục nguồn và mở dự án đã sao chép, các tệp nguồn không bị thiếu mà được tìm thấy tại vị trí cũ. Tôi đã đóng dự án, sao chép thư mục nguồn và mở lại dự án. Bây giờ, dự án tham chiếu một cách kỳ diệu các tệp nguồn được sao chép (cả đường dẫn mới hiển thị trên "save as" và một thay đổi trong tệp đã được lưu trong phiên bản sao chép).

Có một cảnh báo: Nếu không phải cả thư mục dự án cũ và mới đều nằm dưới thư mục thư viện đã sử dụng, ma thuật nói trên cũng loại bỏ tham chiếu tuyệt đối đến thư viện và mong đợi nó theo cùng một đường dẫn tương đối.

Tôi đã thử điều này với VS Express 2012.


0

Giải pháp của tôi hơi khác một chút - máy tính mà gói nằm trong đó đã chết và vì vậy tôi buộc phải tạo lại nó trên một máy tính khác.

Những gì tôi đã làm (trong VS 2008) là mở các tệp sau trong thư mục của tôi:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

Khi tôi làm điều này, một cửa sổ bật lên hỏi tôi rằng tập tin sln sẽ là một giải pháp mới và khi tôi nhấp vào "có", mọi thứ đều hoạt động hoàn hảo.


0

Sau khi thử các giải pháp trên & tạo bản sao cho các dự án MVC

Đối với các dự án MVC, vui lòng cập nhật số cổng trong tệp .csproj, bạn có thể nhờ trợ giúp của iis applicationationhost.config để kiểm tra số cổng. Số cổng giống nhau sẽ gây ra vấn đề tải lắp ráp trong IIS.


0

Theo câu trả lời của Shane ở trên (hoạt động rất tốt BTW)

Bạn có thể bắt gặp một loạt các hình tam giác màu vàng trong danh sách tham khảo. Hầu hết trong số này có thể được loại bỏ bởi một Build->Clean SolutionBuild->Rebuild Solution.

Tôi đã tình cờ có một số tài liệu tham khảo Google API cứng đầu hơn một chút.

Cố gắng cài đặt lại gói NuGet của cùng một phiên bản không hoạt động.
Visual Studio nghĩ rằng bạn đã cài đặt nó.

Để giải quyết vấn đề này:
1: Viết xuống phiên bản gốc.
2: Cài đặt phiên bản cao hơn tiếp theo ... sau đó gỡ cài đặt nó.
3: Cài đặt phiên bản gốc từ bước # 1.


0

Tôi sử dụng Visual Studio 2013 trong đó Project> Xuất mẫu không phải là một tùy chọn. Đây là những gì tôi sử dụng để sao chép một dự án.

Từ giải pháp của bạn: Tệp> Xuất mẫu> chọn dự án để tạo mẫu từ, lưu ý đường dẫn lưu

Tải xuống và cài đặt SDK VS 2013 tại đây

Tạo dự án VSIX mới theo Khả năng mở rộng

Từ hộp thoại VSIXManifest, chọn tab Tài sản

Điền vào hộp văn bản Tác giả

Chọn "Mẫu dự án" cho Loại và Duyệt để thêm mẫu đã xuất (được lưu tại đường dẫn bạn đã lưu ý trong bước 1)

Lưu và xây dựng dự án VSIX. Chuyển đến thư mục ... / bin / Debug của dự án VSIX và nhấp đúp để chạy tệp .vsix

Bắt đầu phiên bản mới của Visual Studio và bạn sẽ thấy mẫu của mình trong bất kỳ loại dự án nào mà mẫu của bạn là. Tạo một dự án mới từ mẫu của bạn

Bạn sẽ phải thêm lại bất kỳ tài liệu tham khảo dll


0

Cách dễ nhất để làm điều này là xuất dự án dưới dạng mẫu và lưu nó vào vị trí mẫu mặc định. Sau đó, sao chép mẫu vào cùng thư mục trên vị trí bạn muốn di chuyển nó đến. Sau đó, mở studio trực quan trên vị trí mới, tạo dự án mới và bạn sẽ nhận được lời nhắc tìm kiếm mẫu. Tìm kiếm bất cứ thứ gì bạn đặt tên cho mẫu, chọn nó và bạn đã hoàn tất!

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.