在docker compose build中定义预处理器变量

时间:2018-06-16 07:12:50

标签: docker asp.net-core .net-core docker-compose

我想从我的P/Invoke应用程序中进行一些ASP.Net Core调用,为此我显然需要确定我正在运行的平台。

该项目使用docker和linux容器,因此在我的示例中可能只有两个可能的平台:

  • Linux(在docker中运行项目时)
  • Windows(运行没有泊坞窗的项目时)

Environment.OSVersion.Platform的帮助下,我能够在运行时检测到该平台,因此我可以DllImport必要的动态库,并switch通过Platform值确定要执行的导入函数。

虽然这很好用,但我真的希望能够删除这个运行时开销,并能够用#if指令(例如#if Docker#if Windows包裹我的部分代码)只编译我正在进行的部署类型所需的代码。

有没有办法在支持docker的Asp.Net Core项目中完成此任务?

0 个答案:

没有答案