在非“csproj”文件中定义编译符号?

时间:2012-10-23 13:13:36

标签: c# visual-studio visual-studio-2012

我使用了很多“编译符号”来控制不同的东西,例如日志记录。

    [Conditional("LOG_AAA")]
    public static void Warning(string s)
    {
        swLog.WriteLine(DateTime.Now.TimeOfDay + " [Warning] " + s);
    }

在任何时候我都可以turn_on / turn_off“LOG_AAA”并控制是否需要写入某些日志。 我有很多类型的日志来自我的程序的不同部分,我经常需要turn_on / turn_off其中一些。

问题在于,每当我更改任何设置时,我的“csproj”文件都会更新,当我将其存储在存储库中时,我必须提交它。

问题是如何解决这个问题?

  • 不在存储库中存储“csproj”文件?但是这个文件包含很多重要的东西,所以我担心我必须将它存储在存储库中
  • 将“csproj”文件存储在存储库中?那么如何“提取”我经常修改的“编译符号”呢?

可能“log4net”可以解决我的问题,但我不想使用它,因为我喜欢我非常简单的日志记录机制。我不想添加另外一个包含很多我不会使用的东西的库,所以请不要建议我切换到“log4net”。我同意这可能会解决我的问题,我可能应该切换到它,但让我们在这个问题中假设“log4net”(以及其他库)不是一个选项。此外,这个问题不仅涉及日志记录,还涉及可用于控制任何事情的compilation_symbols(包括日志记录)。

0 个答案:

没有答案