如何基于项目中包含的dll或包在.net中创建条件指令?

时间:2019-02-02 15:09:08

标签: c# asp.net .net asp.net-core .net-core

我正在尝试为asp.net核心的 Startup 类创建可重用的扩展方法。

我想做的一件事是基于正确/错误的输入添加所有不同的用法。

一个示例是ConfigureServices方法内的 services.AddHttpsRedirection

我的问题是这种方法需要添加nuget包 Microsoft.AspNetCore.HttpsPolicy

我要做的是根据此程序包/ dll的存在添加一个预处理程序指令。

根据我的研究,似乎我需要使用类似的东西:

sexps

但是我不知道要在哪里设置 HTTPS_POLICY 符号。

我找到了2个可能的地方:

  1. 使用.csproj文件,我可以使用Condition属性设置 DefineConstants 元素。
  2. 我可以在Visual Studio中设置条件编译符号。

但是我什至不确定这两个东西是否不同,它们可能是相同的。

对于选项1,我不知道如何使用条件属性来查找包引用或dll的存在。

还要考虑,我正在创建一个供其他项目使用的类库,理想情况下,我不希望那些其他项目必须设置条件符号和事物。

这甚至有可能实现吗?

0 个答案:

没有答案