Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8598303
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 12, 20262026-06-12T01:07:16+00:00 2026-06-12T01:07:16+00:00

With the introduction of the Portable Class Library , developers can release a single

  • 0

With the introduction of the Portable Class Library, developers can release a single library which is compatible across multiple platforms. The down-side to this is that the PCL must reduce itself to the lowest common set of classes which are compatible across ALL the specified platforms.

If you want to play to the strengths and functionality of specific platforms, (or if you want access to classes which only exist in certain platforms), I assume you have to do one of the following:

  1. Release a “base” set of classes as a Portable Class Library, with accompanying Platform-Specific libraries which build on it.
    • One example could be an MVVM library: release common base classes as a single Portable Class Library – named “MyCustomMvvm.dll” – and release some additional platform functionality in the form of “MyCustomMvvm.Extras.WPF.dll” and “MyCustomMvvm.Extras.WP7.dll,” etc… OR:
  2. Keep a separate project for each platform, using “linked” source files and #if statements to conditionally compile platform-specific functionality.
    • For this example all the libraries would have the same filename (“MyCustomMvvm.dll”), but would have a separate copy for each platform, built using a platform-specific project within your solution.

My question is: are those the only two options? Is there a clearly “better” option?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-12T01:07:17+00:00Added an answer on June 12, 2026 at 1:07 am

    check out http://blogs.msdn.com/b/rxteam/archive/2012/03/12/reactive-extensions-v2-0-beta-available-now.aspx specifcally the section “Towards a Portable Library world”. Rx targets a lot of different runtimes so it’s a good example use case. They have generally done what you suggest as option 1 and use NuGet to manage a lot of the distribution.

    NuGet 2.1 is making changes to help in this endeavor: http://nuget.codeplex.com/discussions/391121

    Your second suggestion is how MVVM light does it per http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx except there’s no reason to name all the assemblies the same.

    i’m not sure if there are reliable or useful alternatives.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Introduction I have been so annoyed by applications that have a startup dialog which
Introduction We have an OpenID Provider which we created using the DotNetOpenAuth component. Everything
Introduction The string module has a Template class, that lets you make substitutions in
Introduction I am attempting to replace an on-call cell phone which is carried by
Introduction Let's say I have three Domain Objects: Proposition Phase Task A Proposition can
Introduction Peter Weinhart describes how to design a generic intrusive_ptr base class using CRTP
Introduction: I am building a facebook app which auto wishes happy birthday. I am
Introduction: I have a flat ArrayCollection of object's, which i group to create the
Introduction I've a question about something that I think it can become a little
Long introduction, question is at the end: Assume I have a base class that's

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.