Dot-Net
同時面向 .NET 3.5 和 Silverlight
假設我已經有一個建構 .NET 3.5 程序集的項目。現在我想為 Silverlight 建構這個程序集,此外,以最小的努力維護其 Silverlight 版本。
什麼是不可接受的:
- 為 Silverlight 建構創建單獨的項目
什麼是可以接受的:
- 添加自定義指令允許我根據 MSBuild 屬性來定位 Silverlight 或 .NET。
- 為 Silverlight 添加特殊建構配置
- 將#ifdef Silverlight / #endif 部分添加到原始碼中。
- 通常對 .csproj / .cs 進行任何其他修改。
所以基本上,我想維護一個項目,但針對兩個框架。我不想維護兩個單獨的項目,因為這可能會導致錯誤,例如忘記包含新文件。如果有很多項目和大團隊,排除此類錯誤非常重要。
如果這完全不可能,那麼任何提供類似好處的解決方案都是可以接受的。
您是否還排除了從 Silverlight 項目連結到項目中的文件的可能性?這是在 Silverlight 和完整 CLR 之間共享實現的一種相當常見的方法。在 .NET 和 Silverlight 平台之間共享程式碼
此外,根據 Justin Angel 的說法,您可以參考和使用完整 CLR 中的 Silverlight 類庫。我自己沒有嘗試過,它留下了一些未解決的問題,但它確實使場景變得簡單:http ://silverlight.net/blogs/justinangel/archive/2008/12/29/using-silverlight-dlls-on -the-desktop.aspx