【发布时间】:2010-11-07 23:56:23
【问题描述】:
假设我已经有一个构建 .NET 3.5 程序集的项目。现在我想为 Silverlight 构建这个程序集,此外,以最小的努力维护其 Silverlight 版本。
什么是不可接受的:
- 为 Silverlight 构建创建单独的项目
什么是可接受的:
- 添加自定义指令允许我根据例如 Silverlight 或 .NET 来定位MSBuild 属性。
- 为 Silverlight 添加特殊构建配置
- 将#ifdef Silverlight / #endif 部分添加到源代码中。
- 通常对 .csproj / .cs 进行任何其他修改。
所以基本上,我想维护一个项目,但针对两个框架。我不想维护两个单独的项目,因为这可能会导致错误,例如忘记包含新文件。如果有很多项目和大团队,排除此类错误非常重要。
如果这完全不可能,任何提供类似好处的解决方案都是可以接受的。
【问题讨论】:
-
问题不清楚。您想构建一个程序集,然后在 Silverlight 应用程序中使用该程序集的方法等吗?由于您在 Silverlight 中的大部分实际工作都是通过与 Web 服务的通信完成的,因此我不确定您是否有问题。也许您有分层问题?这意味着您的层级之间没有明确的定义。
-
Silverlight 是 .NET 3.5。我相信您的意思是 Silverlight 和 WPF。此外,它与这个问题非常相似:stackoverflow.com/questions/208123/…
-
Silverlight 是 .NET 3.5?似乎不可能,因为正如您刚才所说,它的项目引用了不同的 mscorlib。而且,它是完全不同的执行平台……
-
“你想构建一个程序集,然后在 Silverlight 应用程序中使用该程序集的方法等” - 是的,完全正确。假设我想分享例如.NET 和 Silverlight 应用程序之间的 BLL\DAL 代码相同。
-
因此,假设我想构建一个包含 Calculator 类的程序集,其中包含单个对象 Calculate(string expression) 方法,并且我需要构建此程序集的 2 个版本:一个用于 .NET 3.5,另一个用于- 对于 Silverlight。
标签: .net silverlight msbuild build csproj