2013-07-21 55 views
3

我目前正在尝试构建一个小型可移植库,我需要使用async/await。 我的目标是我希望能够在.NET 4以及.NET 4.5运行库上使用我的库。理想情况下,我希望在定位.NET 4时使用Microsoft.Bcl.Async包,而对于.NET 4.5,我希望在不包含Bcl包的情况下使用内置的异步/等待支持。多目标.NET程序集在.NET 4.5和.NET上使用异步/等待4

这就是说,我希望在编译为.NET 4.5时将bcl.async dll从我的项目中排除,因为这会给出有关.NET 4.5中C#5的内置异步与bcl.async包。

这是可能的,如果是这样的话,还有什么更好的方法来解决这个问题?

+0

是否希望在.net 4.0或.net 4.5下编译库?你如何确定要运行的功能? – ilansch

+0

你是说如果你有一个引用Bcl.Async和一个引用该库的.Net 4.5应用程序的PCL,你会得到警告? – svick

+0

@ilansch:我希望将我的库编译为.net 4.0和4.5。我基本上想要的是确保我的.net 4.0版本包含并引用bcl.async库,而.net 4.5版本不应该,因为该功能已包含在框架中。 –

回答

4

我最终使用@StephenCleary的答案,而我将PCL定位到.NET 4.0,并使用了Bcl.Async包。

谢谢!

+1

因此,在安装.Net 4.5的平台上运行时,您会忽略它在4.0 + Bcl拐杖上运行的优势,对吗? – SerG