Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 定义非“编译符号”;csproj";文件_C#_Visual Studio_Visual Studio 2012 - Fatal编程技术网

C# 定义非“编译符号”;csproj";文件

C# 定义非“编译符号”;csproj";文件,c#,visual-studio,visual-studio-2012,C#,Visual Studio,Visual Studio 2012,我使用了很多“编译符号”来控制不同的事情,例如日志记录 [Conditional("LOG_AAA")] public static void Warning(string s) { swLog.WriteLine(DateTime.Now.TimeOfDay + " [Warning] " + s); } 在任何时候,我都可以打开/关闭“日志”,并控制是否需要写入某些日志。 我有来自程序不同部分的多种类型的日志,我需要经常打开/关闭其中一些日志

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

    [Conditional("LOG_AAA")]
    public static void Warning(string s)
    {
        swLog.WriteLine(DateTime.Now.TimeOfDay + " [Warning] " + s);
    }
在任何时候,我都可以打开/关闭“日志”,并控制是否需要写入某些日志。 我有来自程序不同部分的多种类型的日志,我需要经常打开/关闭其中一些日志

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

问题是如何解决这个问题

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

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

编译符号应用于控制编译行为,而不是执行时行为。使用
.config
文件存储执行时间设置。同样地,
log4net
也会……但我想排除编译时的某些方法调用,因为性能要求。这个问题的答案可能会帮助您: