2013-12-09 33 views
6

Tôi đang viết thư viện lớp trong C# /. NET.Làm cách nào để đưa tệp nguồn của một dự án vào một dự án khác?

tôi cần phải biên dịch nó cho hai khuôn khổ khác nhau:

  • 4,0 (sử dụng cho bản thân mình gỡ lỗi)
  • 3,5 (sử dụng trên máy khách).

Tôi muốn có một tệp nguồn được đặt cho hai dự án, vì vậy tôi có thể chỉnh sửa trong 1 bản sao tệp và chúng được tự động đưa vào dự án khác.

Bây giờ, nếu tôi thậm chí còn sử dụng "thêm mục hiện có", VS 2010 sẽ tạo bản sao; và tôi cần phải sao chép các phiên bản mới nhất mỗi lần.

Tôi không thể chỉ thay đổi mục tiêu trong dự án, bởi vì tôi đang sử dụng các phiên bản khác nhau của tài liệu tham khảo .dll và bởi vì MS có một số điều kỳ quặc.

Trả lời

6

Một lựa chọn là sử dụng Thêm Như liên kết tùy chọn được đề cập bởi những người khác đã có, nhưng bạn có các tùy chọn nhiều hơn thế:

  1. Portable Class Libraries là một loại đặc biệt của dự án cho phép bạn chỉ định phiên bản .NET bạn muốn nhắm mục tiêu. Trình biên dịch sau đó xuất ra các hội đồng tương ứng cho bạn. Ưu điểm của kỹ thuật này là bạn có một phiên bản của nguồn biên dịch cho cả hai khung công tác. Điểm bất lợi là bạn không thể sử dụng các tính năng mà khuôn mẫu chung .NET thấp nhất không hỗ trợ.
  2. Phân nhánh kiểm soát nguồn & hợp nhất cho phép bạn thực sự duy trì 2 tệp nguồn tương tự nhưng khác nhau. Bạn có một phiên bản là phiên bản chính, sau đó sau khi áp dụng một thay đổi cho nó, bạn kết hợp nó với các dự án của bạn tạo ra đầu ra thực tế. Ưu điểm của kỹ thuật này là bạn có thể có hai tệp hoàn toàn riêng biệt, vì vậy bạn có nhiều sự tự do. Điểm bất lợi là bạn có hai tệp hoàn toàn riêng biệt, có thể khó quản lý.
  3. Làm tốt hơn thủ thuật MsBuild. Sử dụng cấu trúc <choose>/<when>, bạn có thể bao gồm điều kiện tham chiếu đến phiên bản lắp ráp cụ thể tùy thuộc vào điều kiện. Phiên bản khung đích và các cài đặt ưa thích khác cũng có thể được quản lý thông qua MsBuild, nhưng bạn không thể luôn chỉnh sửa chúng thông qua giao diện người dùng.Bạn có thể sử dụng kết hợp này với #if MY_CONSTANT để tạo các phần được biên dịch có điều kiện của ứng dụng
  4. Bạn có thể tạo một Hội đồng .NET mà bạn tham chiếu từ cả hai dự án. Bạn đặt phiên bản .NET thành phiên bản thấp nhất, 3.5 trong trường hợp của bạn. Visual Studio 2010 trở lên có hỗ trợ đa mục tiêu và bạn có thể trộn và khớp các phiên bản khung công tác .NET trong một giải pháp.

Bạn đang sử dụng loại qircks nào, nếu bạn chia sẻ (một phần) tệp dự án của mình, chúng tôi có thể giải quyết những tệp đó cho bạn.

5

Bạn có thể sử dụng tính năng Add as Link.

Nó đi như thế này:

  • Kích chuột phải vào nơi bạn cần bạn (hiện có) nộp được
  • "Add" -> "hiện Item"
  • Chọn tập tin của bạn sau đó nhấp vào mũi tên vào nút "Add" và chọn "Add Như liên kết" (xem hình dưới đây)
  • một liên kết đến tập tin này sẽ được thêm vào dự án thay vì một bản sao

Screenshot

3

Khi thêm tệp vào dự án, hãy chọn "Thêm làm liên kết", không chỉ thêm.

Add as link

Các vấn đề liên quan