Thư viện lớp di động là gì?


109

Trên MSDN, tôi nhận thấy một phần về a Portable Class Library, bên dưới Thông tin phiên bản.

Xem System.Objectví dụ. http://msdn.microsoft.com/en-us/library/system.object.aspx

Tôi đã thực hiện một tìm kiếm ngắn trên Google và không thể tìm thấy bất cứ điều gì về Portable Class Library. Có ai ở đây biết nó là gì hoặc tôi có thể tìm thêm thông tin về nó ở đâu không?


1
Lưu ý - chúng tôi đã thêm hỗ trợ Thư viện lớp di động bổ sung trong Visual Studio 11 Beta sẽ ra mắt vào tuần tới.
David Kean

Câu trả lời:


84

CẬP NHẬT Ngày 9 tháng 10 năm 2017: Bài viết so sánh / ràng buộc .NET Core / Std / PCL CẬP NHẬT ngày 23 tháng 11 năm 2016: Bài viết của Rick Strahl

CẬP NHẬT Ngày 29 tháng 10 năm 2016: .NETStandard 1-> 2 CẬP NHẬT CẬP NHẬT Ngày 19 tháng 10 năm 2016: Đây là cuộc phỏng vấn / video hay nhất mà tôi đã xem cho đến nay về .NET Standard 2.0

CẬP NHẬT Ngày 27 tháng 9 năm 2016: Bài đăng thông báo .NET Standard 2.0 có thêm thông tin tốt

CẬP NHẬT ngày 6 tháng 6 năm 2016: Bài viết này giải thích rõ cách cơ chế thư viện .NETStandard thay thế phần lớn PCL

CẬP NHẬT ngày 10 tháng 7 năm 2013: Trạng thái xuất sắc của bài đăng blog tóm tắt liên minh PCL từ @shanselman với rất nhiều ví dụ cụ thể, ảnh chụp màn hình và liên kết. Đặt bất kỳ câu trả lời nào khác ở đây trong bóng râm.

CẬP NHẬT ngày 20 tháng 5 năm 2013:

CẬP NHẬT ngày 19 tháng 4 năm 2013: Bản tóm tắt đặc sắc xuất sắc về cách tất cả kết hợp với nhau từ Intellisense đến hết thời gian trong một bài đăng trên blog của Simon Cooper


Video: Kênh 9 Visual Studio Toolbox show tập 14 tháng 6 năm 2012

Video: Kênh 9 Going Deep Show tập 27/09/2011


CẬP NHẬT ngày 11 tháng 9 năm 2012: Bài đăng trên blog cấp cao với hình ảnh, sơ đồ và các ví dụ động lực cho thấy cách MVVM Light và RX sử dụng nó

CẬP NHẬT ngày 11 tháng 4 năm 2012: Phần kết thúc rất hay của Scott Hanselman đã đi đến điểm mà nhà phát triển nói rất nhanh bao gồm ảnh chụp màn hình ở đây (cũng chứa thông tin rất sâu sắc về 'cách nghĩ về nó' và các liên kết đến các mẫu). Cũng bao gồm một phần tài nguyên ở cuối trùng lặp khá nhiều toàn bộ bài đăng này: D

CẬP NHẬT ngày 9 tháng 7 năm 2012: Loạt blog này của Mircea Trofin thuộc nhóm nhà phát triển (một phần cho đến nay) là phạm vi hoàn chỉnh nhất , bao gồm ảnh chụp màn hình và ma trận chi tiết hiển thị các tính năng có sẵn trên các lựa chọn của bạn nếu bạn thích điều đó.


Xem bài đăng trên blog thông báo về Công cụ Thư viện Di động , bắt đầu: -

Công cụ Thư viện Di động CTP thêm một mẫu dự án "Thư viện Lớp Di động" mới vào Visual Studio có thể được sử dụng để tạo các thư viện lớp trong C # và VB chạy trên các nền tảng .NET khác nhau mà không cần biên dịch lại.

Nó được sử dụng để tạo Thư viện lớp nhắm mục tiêu nhiều nền tảng (đặc biệt là các biến thể Silverlight như WP7 và SL4, nhưng bao gồm cả XNA trên Xbox) cùng một lúc.

Xem thêm bài viết tóm tắt InfoQ này

Xem thêm thông báo phát hành này .

Để biết thông tin chi tiết khó hiểu, hãy xem Nguyên tắc nhắm mục tiêu đa mục tiêu cho các công cụ dành cho mã được quản lý


2
đánh bại tôi 27 giây; p
Marc Gravell

2
@Marc Gravell: Không xảy ra thường xuyên, phew! - nhưng bạn đã làm nhịp @Darin nếu đó là bất kỳ sự giúp đỡ ...
Ruben Bartelink

4
Rất nhiều chi tiết tuyệt vời, nhưng tôi nghĩ điều này có thể có lợi từ một lời giải thích đơn giản cho một người hoàn toàn mới về điều này.
Lucas

@Lucas Chà, những nỗ lực của tôi để cập nhật nó đã làm cho nó trở thành wiki cộng đồng, vì vậy hãy thoải mái chỉnh sửa bất cứ điều gì bạn cảm thấy sẽ giải thích nó theo cách bạn cảm thấy hữu ích (tôi thấy bài viết của InfoQ hay), nghĩ là những người ở trên cùng có lẽ là người toàn diện nhất
Ruben Bartelink

1
Sẽ tốt hơn nếu bạn tóm tắt những bài báo đó và đưa ra một cách ngắn gọn ở đây. Hiện tại, 40.450 người đọc, với trung bình 20 phút (giả sử) để xem qua các liên kết, có nghĩa là tổng cộng 561 ngày bị lãng phí.
Zafar

53
  • Dự án Thư viện Lớp di động cho phép bạn viết và xây dựng các hội đồng được quản lý hoạt động trên nhiều nền tảng .NET Framework. Bạn có thể tạo các lớp chứa mã mà bạn muốn chia sẻ trên nhiều dự án, chẳng hạn như logic nghiệp vụ được chia sẻ, rồi tham chiếu các lớp đó từ các loại dự án khác nhau.

  • Công cụ Thư viện Di động là một bổ trợ Visual Studio mới của Microsoft cho phép bạn tạo thư viện C # và Visual Basic chạy trên nhiều nền tảng dựa trên .NET mà không cần biên dịch lại.

MSDN hiện có một bài viết / tài liệu hay về nó . Bạn có thể kiểm tra nó và xem những gì được hỗ trợ .Portable Class Library Biểu tượng cho Thư viện Lớp học Di động


Các tập hợp sau có sẵn trong dự án Thư viện lớp di động:

  • mscorlib.dll
  • System.dll
  • System.Core.dll
  • System.Xml.dll
  • System.ComponentModel.Composition.dll
  • System.Net.dll
  • System.Runtime.Serialization.dll
  • System.ServiceModel.dll
  • System.Xml.Serialization.dll
  • System.Windows.dll (từ Silverlight)

Bạn có thể tìm thấy những thành viên nào được hỗ trợ bởi dự án Thư viện Lớp Di động trong các chủ đề tham khảo cho Thư viện Lớp .NET Framework. Trong bảng thành viên của một lớp, biểu tượng Thư viện Lớp Di động sau xuất hiện bên cạnh các thành viên được hỗ trợ.

Biểu tượng cho thư viện Portable Class (Biểu tượng cho Thư viện Lớp Di động mà bạn sẽ thấy trong Tài liệu MSDN.)


Để tạo Dự án thư viện lớp di động, bạn cần có:

1 . Visual Studio 2010 Service Pack 1 (SP1) (795KB Installer, 1,48GB ISO )

2 . Công cụ Thư viện Di động CTP (1,38MB)

Sau khi cài đặt các bản cập nhật trên, bạn sẽ nhận được Mẫu dự án mới cho Thư viện lớp di động:

nhập mô tả hình ảnh ở đây

(Nội dung trên lấy từ MSDN)

CẬP NHẬT 2014:

Class Library Portable là một phần của Visual Studio 2014.


Về bản cập nhật mới nhất, tôi không nghĩ rằng có Visual Studio 2014, nhưng PCL dường như được bao gồm trong Visual Studio 2013. (Ít nhất là phiên bản cộng đồng mà tôi có)
Jake

7

Đó là một thư viện lớp có thể chạy trên nhiều nền tảng khác nhau .


Tôi có thể gửi .csproj di động của mình cho những người chưa cài đặt các công cụ này không?
lysergic acid

2
Để chạy ứng dụng Thư viện lớp di động, bản cập nhật cho .NET Framework 4 phải được cài đặt trên máy của bạn. Bản cập nhật này được cài đặt tự động với Visual Studio 2010 SP1, vì vậy bạn có thể chạy ứng dụng Thư viện lớp di động mà không cần sửa đổi thêm trên máy tính mà bạn đã sử dụng để phát triển ứng dụng. Để chạy ứng dụng trên một máy tính khác, bạn có thể cài đặt bản cập nhật theo cách thủ công.
Jowen

2

Tôi thấy Tài liệu hơi khó hiểu nên tôi đã cố gắng làm cho mọi thứ rõ ràng một chút ở đây.

Thư viện Portable Class được xây dựng để cho phép các lập trình viên tạo các dự án chạy trên nhiều nền tảng như Xbox 360, Windows Phone, Silverlight và .NET Framework (4 trở lên). điều này được thực hiện thông qua việc bỏ qua một số API cụ thể không được hỗ trợ bởi các nền tảng mục tiêu đã chọn của bạn, điều này sẽ khiến bạn mất một số tính năng có sẵn của .Net Framework.

Vì vậy, chúng tôi có thể nói, việc lựa chọn giữa Portable class libraryvà Bình thường class libraryphụ thuộc vào nền tảng mục tiêu của dự án của bạn. nếu bạn muốn ứng dụng của mình hoạt động trên Xbox và Máy tính để bàn có hệ điều hành windows, tốt hơn bạn nên tiết kiệm thời gian và sử dụng PCL, ngoài ra thư viện lớp Thường sẽ ổn.

để biết thêm thông tin, hãy truy cập trang tài liệu .

Bây giờ có một công nghệ mã nguồn mở mới được gọi là .Net Standard sẽ thay thế PCL. .NET Standard giải quyết vấn đề chia sẻ mã cho các nhà phát triển .NET trên tất cả các nền tảng bằng cách cung cấp tất cả các API mà bạn mong đợi và yêu thích trên các môi trường mà bạn cần: ứng dụng máy tính để bàn, ứng dụng & trò chơi di động và dịch vụ đám mây:

  • .NET Standard là một tập hợp các API mà tất cả các nền tảng .NET phải triển khai. Điều này thống nhất các nền tảng .NET và ngăn chặn sự phân mảnh trong tương lai.
  • .NET Standard 2.0 sẽ được thực thi bởi .NET Framework, .NET Core và Xamarin. Đối với .NET Core, điều này sẽ thêm nhiều API hiện có đã được yêu cầu.
  • .NET Standard 2.0 bao gồm một miếng đệm tương thích cho các tệp nhị phân .NET Framework, làm tăng đáng kể bộ thư viện mà bạn có thể tham khảo từ các thư viện .NET Standard của mình.
  • .NET Standard sẽ thay thế các Thư viện Lớp Di động (PCL) như một câu chuyện công cụ để xây dựng các thư viện .NET đa nền tảng.

Bạn có thể xem định nghĩa .NET Standard API trong dotnet / standard repo trên GitHub.

Tài liệu tham khảo

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.