多目标.NET库的最佳实践

ckk*_*ght 14 .net silverlight xna windows-phone-7

我计划发布一个开源(MIT).NET库,但也包括DLL,以方便人们使他们不必自己编译所有内容.

我的库在它引用的类型中非常简单,唯一真正的依赖似乎是.NET 3.0或更高版本(因为它指的是Func<T>等等).

我希望我的库可以被多个目标使用,包括.NET 4.0服务器,.NET 3.5服务器,Windows Phone 7 Silverlight,普通Silverlight,XNA(电话),XNA(Windows)和XNA(XBox 360).

我确保不使用我所针对的平台上没有的任何类型,例如HashSet<T>在Windows Phone 7上不可用,所以我没有使用它.

我是否需要为这些目标制作不同的项目,因此需要多个DLL,或者是否有某种方法可以为它们生成一个共同的DLL?

Wil*_*ean 7

今年在PDC上有一篇关于做这类事情的演讲:

这是视频,这些是幻灯片.