2013-07-21 97 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