2015-07-29 17 views
23

Trong quá trình phát triển trước, tôi đã sử dụng Thư viện lớp di động để chia sẻ mã giữa ứng dụng Windows 8.1 "Metro" và ứng dụng máy tính để bàn .NET/WPF.Gọi Windows 10 Universal Class Library từ ứng dụng máy tính để bàn

Windows 10 Các thư viện phổ dụng cũng có thể sử dụng được từ các ứng dụng dành cho máy tính để bàn đó và nếu không, cách được khuyến nghị để chia sẻ mã trong trường hợp này là gì?

+0

Hi Cerebrate, phản hồi chi tiết của tôi có giúp trả lời câu hỏi của bạn không? Nếu có, vui lòng đánh dấu nó là câu trả lời khi bạn có một phút. :-) Ngoài ra, hãy cho tôi biết nếu bạn cần bất kỳ làm rõ thêm hoặc ảnh chụp màn hình, và tôi sẽ rất vui khi cập nhật nó. Cảm ơn trước! :-D –

Trả lời

43

Đầu tiên, chúng ta hãy nhìn vào phần đầu của câu hỏi của bạn:

là Windows 10 thư viện lớp phổ cũng có thể sử dụng từ máy tính để bàn như ứng dụng?

Để trả lời câu này, tôi tạo ra một giải pháp mới trong VS2015 với các dự án sau:

  • WPF ứng dụng máy tính để bàn, đặt tên wpfApp
  • Win10 UWP ứng dụng, tên win10App
  • Win10 UWP thư viện lớp , có tên là win10Lib

Sau đó tôi có thể thêm thư viện lớp làm tài liệu tham khảo cho ứng dụng UWP. Tuy nhiên, tôi nhận được thông báo lỗi khi cố gắng thêm tham chiếu thư viện vào ứng dụng dành cho máy tính để bàn.

enter image description here

(SCREENSHOT: Err msg khi cố gắng thêm UWP lib như ref để ứng dụng máy tính để bàn)

Tiếp theo, phần thứ hai của câu hỏi của bạn:

và nếu không, cách được khuyến nghị để chia sẻ mã trong trường hợp này là gì?

Vì vậy, sau đó tôi đã thêm dự án Thư viện lớp mới, nhưng không phải là loại Universal ... Tôi đã chọn tùy chọn Thư viện lớp học di động trong Ứng dụng dành cho máy tính để bàn cổ điển. Điều này cho phép tôi chọn (các) nền tảng nào tôi muốn hỗ trợ, bao gồm .NET 4.6 và Windows Universal 10.0.

enter image description here

(SCREENSHOT: Thêm xách tay Class Library)

Vì vậy, bây giờ tôi có một dự án thư viện lớp mới trong giải pháp của tôi:

  • classic thư viện lớp máy tính để bàn (portable), được đặt tên portableLib

Tôi bắt đầu thêm tham chiếu thư viện lớp vào ứng dụng máy tính để bàn WPF của mình một lần nữa, chọn ing dự án portableLib mới của tôi.Tuy nhiên, tôi nhận được thông báo lỗi sau:

enter image description here

(SCREENSHOT: Thông báo lỗi khi thêm portable lớp ref thư viện để dự án WPF)

Điều này xảy ra bởi vì tôi chọn 4.6 (mặc định cho .NET Framework phiên bản) là một trong những nền tảng trong khi tạo thư viện lớp, nhưng dự án WPF của tôi vẫn đang nhắm mục tiêu phiên bản .NET Framework cũ hơn. Tôi đã sửa lỗi này bằng cách chỉnh sửa thuộc tính dự án của ứng dụng WPF và cập nhật mục tiêu để phù hợp với phiên bản khung của thư viện lớp.

Cuối cùng, tôi đã thêm một tham chiếu đến thư viện lớp di động mới để ứng dụng Win10 UWP của tôi, và nó đã thêm thành công. Bây giờ tôi có thể xây dựng giải pháp không có lỗi.

Đây là ảnh chụp màn hình cấu trúc dự án của tôi, có tham chiếu. enter image description here

Hope this helps!

+0

Ok nhưng có cách nào để thực sự sử dụng các API UWP như StorageFile trong một thư viện có thể được cả hai tham chiếu bởi một ứng dụng máy tính để bàn và một ứng dụng UWP? Tôi biết rằng các API này trên thực tế có thể gọi từ ứng dụng dành cho máy tính để bàn, nhưng về chia sẻ mã thì sao? – Neme

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