Sự khác biệt giữa Dự án được chia sẻ và Thư viện Lớp trong Visual Studio 2015 là gì?

249
Indy411 2015-06-04 18:04.

Tôi đã xem xét các tính năng mới cho Visual Studio 2015 và Dự án được chia sẻ đã xuất hiện rất nhiều nhưng tôi không hiểu việc sử dụng Thư viện lớp hoặc Thư viện lớp di động khác nhau như thế nào. Bất cứ ai có thể giải thích?

Chỉnh sửa: Dự án được chia sẻ là một tính năng mới trong Visual Studio 2015 và khác với Thư viện lớp di động. Tôi hiểu Thư viện lớp di động là gì. Điều tôi đang cố gắng hiểu là Dự án được chia sẻ khác với Thư viện lớp như thế nào. Xem liên kết bên dưới.

http://www.c-sharpcorner.com/UploadFile/7ca517/shared-project-an-impression-features-of-visual-studio-201/

6 answers

248
Damien_The_Unbeliever 2015-06-04 22:16.

Sự khác biệt giữa một dự án chia sẻ và một thư viện lớp là cái sau được biên dịch và đơn vị sử dụng lại là hợp ngữ.

Trong khi với cái cũ, đơn vị sử dụng lại là mã nguồn và mã được chia sẻ được kết hợp vào mỗi assembly tham chiếu đến dự án được chia sẻ.

Điều này có thể hữu ích khi bạn muốn tạo các tập hợp riêng biệt nhắm mục tiêu đến các nền tảng cụ thể nhưng vẫn có mã cần được chia sẻ.

Xem thêm tại đây :

Tham chiếu dự án được chia sẻ hiển thị dưới nút Tham chiếu trong Trình khám phá giải pháp, nhưng mã và nội dung trong dự án được chia sẻ được xử lý như thể chúng là các tệp được liên kết với dự án chính.


Trong các phiên bản trước của Visual Studio 1 , bạn có thể chia sẻ mã nguồn giữa các dự án bằng cách Thêm -> Mục hiện có rồi chọn Liên kết. Nhưng điều này khá rắc rối và mỗi tệp nguồn riêng biệt phải được chọn riêng lẻ. Với việc chuyển sang hỗ trợ nhiều nền tảng khác nhau (iOS, Android, v.v.), họ đã quyết định chia sẻ nguồn giữa các dự án dễ dàng hơn bằng cách thêm khái niệm Dự án được chia sẻ.


1 Câu hỏi này và câu trả lời của tôi (cho đến nay) gợi ý rằng Dự án được chia sẻ là một tính năng mới trong Visual Studio 2015. Trên thực tế, chúng đã xuất hiện lần đầu trong Visual Studio 2013 Update 2

35
Indy411 2015-06-05 00:37.

Tôi tìm thấy thêm một số thông tin từ blog này .

  • Trong Thư viện Lớp, khi mã được biên dịch, các tập hợp (dll) được tạo cho mỗi thư viện. Nhưng với Dự án được chia sẻ, nó sẽ không chứa bất kỳ thông tin tiêu đề nào nên khi bạn có tham chiếu Dự án được chia sẻ, nó sẽ được biên dịch như một phần của ứng dụng mẹ. Sẽ không có các hình nền riêng biệt được tạo ra.
  • Trong thư viện lớp, bạn chỉ được phép viết mã C # trong khi dự án được chia sẻ có thể có bất kỳ thứ gì như tệp mã C #, tệp XAML hoặc tệp JavaScript, v.v.
21
Venkataramana Madugula 2015-10-30 21:50.

Sự khác biệt trong ngắn hạn là

1) PCL sẽ không có Toàn quyền truy cập vào .NET Framework, như SharedProject có.

2) #ifdef cho mã nền tảng cụ thể - bạn không thể viết bằng PCL ( tùy chọn #ifdef không khả dụng với bạn trong PCL vì nó được biên dịch riêng biệt, dưới dạng DLL của riêng nó, vì vậy tại thời điểm biên dịch (khi #ifdef được đánh giá) nó không biết nó sẽ là một phần của nền tảng nào. ) bạn có thể ở đâu với tư cách là Dự án được chia sẻ.

3) Mã nền tảng cụ thể đạt được bằng cách sử dụng Inversion Of Control trong PCL, khi sử dụng câu lệnh #ifdef, bạn có thể đạt được điều tương tự trong Dự án được chia sẻ.

Bạn có thể tìm thấy một bài viết tuyệt vời minh họa sự khác biệt giữa PCL và Shared Project tại liên kết sau

http://hotkrossbits.com/2015/05/03/xamarin-forms-pcl-vs-shared-project/

19
Andreas Reiff 2015-10-27 23:01.

Như những người khác đã viết, tóm lại:


tái sử dụng dự án được chia sẻ ở cấp mã (tệp), cho phép cấu trúc thư mục và tài nguyên


tái sử dụng pcl ở cấp độ lắp ráp

Đối với tôi, điều chủ yếu còn thiếu trong các câu trả lời ở đây là thông tin về chức năng bị giảm thiểu có sẵn trong PCL: ví dụ như bạn có các thao tác với tệp bị hạn chế (tôi đã thiếu rất nhiều tính năng File.IO trong một dự án đa nền tảng Xamarin).

Chi tiết hơn về
dự án được chia sẻ :
+ Có thể sử dụng #if khi nhắm mục tiêu nhiều nền tảng (ví dụ: Xamarin iOS, Android, WinPhone)
+ Tất cả chức năng khung có sẵn cho từng dự án mục tiêu (mặc dù phải được biên dịch có điều kiện)
o Tích hợp tại thời điểm biên dịch
- Kích thước lớn hơn một chút của các hội đồng kết quả
- Cần Visual Studio 2013 Update 2 hoặc cao hơn

pcl :
+ tạo một assembly được chia sẻ
+ có thể sử dụng với các phiên bản cũ hơn của Visual Studio (Bản cập nhật 2 trước 2013)
o được liên kết động
- chức năng giới hạn (tập hợp con của tất cả các dự án mà nó đang được tham chiếu)

Nếu bạn có quyền lựa chọn, tôi khuyên bạn nên sử dụng dự án chia sẻ, nó thường linh hoạt hơn và mạnh mẽ hơn. Nếu bạn biết trước các yêu cầu của mình và PCL có thể đáp ứng chúng, bạn cũng có thể đi theo lộ trình đó. PCL cũng thực thi sự phân tách rõ ràng hơn bằng cách không cho phép bạn viết mã dành riêng cho nền tảng (có thể không phải là một lựa chọn tốt để đưa vào một nhóm chia sẻ ngay từ đầu).

Trọng tâm chính của cả hai là khi bạn nhắm mục tiêu nhiều nền tảng, nếu không, bạn thường chỉ sử dụng một dự án thư viện / dll thông thường.

10
Tilak 2015-10-06 23:15.

Từ cuốn sách VS 2015 thành công

Các dự án được chia sẻ cho phép chia sẻ mã, nội dung và tài nguyên trên nhiều loại dự án. Cụ thể hơn, các loại dự án sau có thể tham khảo và sử dụng các dự án được chia sẻ:

  • Bảng điều khiển, Windows Forms và Windows Presentation Foundation.
  • Ứng dụng Windows Store 8.1 và ứng dụng Windows Phone 8.1.
  • Ứng dụng Silverlight của Windows Phone 8.0 / 8.1.
  • Thư viện lớp di động.

Lưu ý: - Cả dự án chia sẻ và thư viện lớp di động (PCL) đều cho phép chia sẻ mã, tài nguyên XAML và nội dung, nhưng tất nhiên có một số khác biệt có thể được tóm tắt như sau.

  • Một dự án được chia sẻ không tạo ra một bản lắp ráp có thể tái sử dụng, vì vậy nó chỉ có thể được sử dụng từ bên trong giải pháp.
  • Dự án chia sẻ có hỗ trợ mã dành riêng cho nền tảng, vì nó hỗ trợ các biến môi trường như WINDOWS_PHONE_APP và WINDOWS_APP mà bạn có thể sử dụng để phát hiện mã của bạn đang chạy trên nền tảng nào.
  • Cuối cùng, các dự án được chia sẻ không thể có phụ thuộc vào thư viện của bên thứ ba.
  • Để so sánh, PCL tạo ra một thư viện .dll có thể tái sử dụng và có thể có các phụ thuộc vào các thư viện của bên thứ ba, nhưng nó không hỗ trợ các biến môi trường nền tảng
7
Shadi Namrouti 2019-01-03 21:49.

Thư viện lớp được chia sẻ mã biên dịch.

Dự án được chia sẻ là mã nguồn được chia sẻ.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

BoJack Horseman vẫn gan ruột và gan dạ hơn bao giờ hết trong phần 3

BoJack Horseman vẫn gan ruột và gan dạ hơn bao giờ hết trong phần 3

BoJack Horseman (Ảnh: Netflix) BoJack Horseman bắt đầu mùa thứ ba với sự xuất hiện của nhân vật tiêu biểu, người vẫn đang theo đuổi những lời khen ngợi từ giới phê bình trong một nỗ lực tuyệt vọng để tìm ra ý nghĩa trong cuộc sống của mình. Mùa thứ hai về số phận bi kịch của Raphael Bob-Waksberg dày đặc những trò đùa cũng như tuyệt vọng.

Xem cách tính năng lái tự động cập nhật của Tesla bùng phát như thế nào khi bạn bỏ qua các cảnh báo của nó

Xem cách tính năng lái tự động cập nhật của Tesla bùng phát như thế nào khi bạn bỏ qua các cảnh báo của nó

Bản nâng cấp Phiên bản 8.0 gần đây của Tesla đối với hệ thống Lái xe tự động được thiết kế để cải thiện hệ thống và mối quan hệ của nó với người lái.

UnREAL, Chương trình Truyền hình Về Truyền hình Thực tế Chúng tôi Không biết Chúng tôi Cần

UnREAL, Chương trình Truyền hình Về Truyền hình Thực tế Chúng tôi Không biết Chúng tôi Cần

Chắc chắn khi con cái chúng ta xem lại các chương trình chúng ta đã xem vào khoảng năm 2015, chúng sẽ thấy UnREAL, một chương trình truyền hình mới chiếu vào tối Thứ Hai của Lifetime — bạn sẽ thấy đúng lúc, sẽ phát sóng ngay sau khi The Bachelor kết thúc — như một chương trình không thể được thực hiện vào bất kỳ thời điểm nào khác trong lịch sử truyền hình, nhưng một chương trình cảm thấy cần thiết để xem bây giờ. UnREAL có sự tham gia của Shiri Appleby trong vai Rachel, một nhà sản xuất truyền hình cho một chương trình về cơ bản là The Bachelor, mặc dù trong thế giới này, nó được gọi là Vĩnh viễn.

Sau tất cả, Josh Trank sẽ không đạo diễn bộ phim tuyển tập Star Wars thứ hai

Sau tất cả, Josh Trank sẽ không đạo diễn bộ phim tuyển tập Star Wars thứ hai

Thông báo chính thức đến trực tiếp từ trang web của Star Wars: Fantastic Four, đạo diễn Josh Trank, một người bí ẩn không xuất hiện tại đại hội Star Wars Celebration gần đây, sẽ không chỉ đạo phần hai Star Wars Anthology. Đây là tuyên bố được đăng ngày hôm qua: Tất cả thực sự là ngôn ngữ rất lịch sự, nhưng một bài báo của Hollywood Reporter cho thấy tất cả đều không tốt ở hậu trường, gọi sự ra đi là "một vụ sa thải" một phần dựa trên "hành vi bất thường" của Trank trong khi quay Fantastic Four: The Bài báo trích dẫn các nguồn gọi là Trank “đôi khi thiếu quyết đoán và thiếu sáng tạo,” và lưu ý rằng Fantastic Four, khởi chiếu vào ngày 7 tháng 8, đã được khởi động lại vào cuối tháng 4.

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

Edwin McCain ra mắt Grand Ole Opry: Quay cảnh hậu trường với nhạc sĩ 'I'll Be'

McCain, người đang làm việc cho một album mới, lần đầu tiên bước vào vòng kết nối vào tối thứ Sáu ở Nashville

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Tôi viết như thế nào

Tôi viết như thế nào

Đối với tôi, mọi thứ là về dòng đầu tiên đó và nó sẽ đưa bạn đến đâu. Một số nhà văn bị điều khiển bởi cốt truyện, sự sắp xếp tinh tế của các quân cờ, trong khi những người khác bị lôi cuốn bởi một nhân vật và khả năng thực hiện một cuộc hành trình với một người bạn hư cấu mới.

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Language