针对.NET 3.5和Silverlight

Ale*_*nin 12 .net msbuild silverlight build csproj

我们假设我已经有一个构建.NET 3.5程序集的项目.现在我想为Silverlight构建这个程序集,而且,只需要进一步努力就可以维护它的Silverlight版本.

什么是不可接受的:

  • 为Silverlight构建创建单独的项目

什么是可接受的:

  • 添加自定义指令,允许我依赖于例如MSBuild属性来定位Silverlight或.NET.
  • 为Silverlight添加特殊构建配置
  • 将#ifdef Silverlight/#endif部分添加到源代码中.
  • 通常是.csproj/.cs的任何其他修改.

基本上,我想维护一个项目,但目标是两个框架.我不想维护两个单独的项目,因为这可能会导致错误,例如忘记包含新文件.如果有很多项目和大团队,那么排除这些错误非常重要.

如果这完全不可能,任何提供类似好处的解决方案都是可以接受

Ode*_*ode 8

您是否还排除了从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