Dot-Net

同時面向 .NET 3.5 和 Silverlight

  • June 16, 2010

假設我已經有一個建構 .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

引用自:https://stackoverflow.com/questions/1080348