Where's a good place to ask general PCL questions?

Jul 23, 2012 at 4:17 PM

I'm a developer working on an updated version of Autofac that targets portable class libraries, but it appears there is little out there in the way of guidance on how to bridge some of the gaps we're finding. Other than this project, I can't really find any decent examples of how to solve some of these issues.

Is there a good place out there to ask questions about portable class libraries and get some knowledgeable answer? Looking at StackOverflow, it doesn't appear folks know any more than what's already posted on MSDN.

Examples of what I'm curious about:

  • How do you run secannotate.exe on a portable class library (or on a project that references a PCL) to ensure you're doing the right things?
  • How do you ensure that custom exceptions in a PCL are serializable the way other custom exception types (in non-PCL projects) are expected to be?

Anyway, thanks in advance for any links you might have.

Aug 17, 2012 at 1:15 AM
Edited Aug 17, 2012 at 1:28 AM

Sorry, the notification for this came when while I was holidays and just saw it.

The best place for portable class libraries, is currently StackOverflow. I've been watching questions on there recently, but if I miss something, feel free to ping me and point them out to me via http://twitter.com/davkean. Things have been a little crazy working towards RTM, but now things have settled down a little, we'll start working on putting out guidance, and blogging.

The first question, what problems are you running into running SecAnnotate? I'm not aware of any issues (not that there aren't any, I've not seen any issues raised from the team that owns it).

The second question I get asked a lot, basically, the answer I always give is that you don't. Why are your exceptions serializable in the first place? Basically, because it's a pattern that we inherited from 1.0 and FxCop enforces it. 99% (a number I completely made up) of the exceptions that I see, never, ever get passed across AppDomains/processes. If you look at where the platform is going, it's moving away AppDomains, type-based cross-process communication and [Serializable]/ISerializable, Silverlight never supported it, Phone never support and now our new platform in Windows 8 doesn't support it. There's only one platform that we produce that does and this is .NET Framework, making it a perfect case of a platform-specific concept that lives outside of a core portable library, and on the side in more platform-specific libraries. If your users want to pass your exceptions cross-AppDomains (and seriously, how often would you expect this to occur to an IoC container's exception?), let them wrap it in a custom exception that does the serialization.



Sep 11, 2012 at 12:53 AM

I'll post to StackOverflow, but the error I'm getting is that secannotate.exe can't locate mscorlib I don't have any explicit references to that assembly version, so I'm a bit stumped as to how to fix it. It compiles just fine in VS2012 with no extra installs/patches, so maybe I'm missing an update or something? We can follow up over there.