【问题标题】:Whats the best way to handle conditional dependencies in C#在 C# 中处理条件依赖的最佳方法是什么
【发布时间】:2010-09-21 00:41:33
【问题描述】:

我们正在构建一个 C# .NET 应用程序,它将在卡车内的计算机上运行。我们需要与卡车计算机上的数字 IO 端口进行通信,这些端口在我们的开发人员机器上不存在,因此我需要编写一个虚拟库,该库将包含在我们的开发版本中,但在我们使用实际的数字 IO 库时将被替换做发布。我希望这个库替换能够通过构建过程自动化。

来自 Java 背景,我可以使用构建配置文件在 maven 中轻松完成此操作。有没有类似的方法可以使用 MSbuild 做到这一点?如果不是,那么在 C# microsoft 领域中处理此问题的最佳方法是什么。

【问题讨论】:

    标签: c# msbuild


    【解决方案1】:

    我会选择 IoC+Mock 方法,但如果您想使用 msbuild 来实现,请查看 here 以获取有关 msbuild 条件的重要资源

    【讨论】:

      【解决方案2】:

      我最近开发了类似的东西,我假设一个接口用于与一些操作伺服系统的嵌入式计算机进行通信。为了编写控制这些计算机的软件,我used Moq to mock 编写了我编写的接口,然后plugged in real classes via StructureMap 实现了这些接口。

      我还使用 Moq 为使用相同接口控制机器的软件编写单元测试。

      【讨论】:

      • 通过使用 StructureMap,您不必担心在构建过程中替换库 - 只需让一个 MSBuild 任务将 App.config 的 StructureMap 部分替换为真实配置。它适用于您尝试做的事情,我做这件事。
      猜你喜欢
      • 2012-09-02
      • 1970-01-01
      • 1970-01-01
      • 2021-10-25
      • 2021-10-28
      • 1970-01-01
      • 1970-01-01
      • 2013-10-23
      • 2013-03-08
      相关资源
      最近更新 更多