如果 "unused" 命名空间实际用于预处理器指令,如何阻止 VS 删除它们?

How to stop VS from removing "unused" namespaces if they are actually used in preprocessor directives?

我正在使用 Visual Studios Code Cleanup on Save 在我保存时自动清理我的代码。它还会删除未使用的命名空间。但现在我注意到它甚至删除了在预处理器指令中实际使用的名称空间。我该怎么做才能避免它?

代码在这里:

    private void RegisterTracking()
    {
#if DEBUG
        IResourceFilePostProcessor processor = null;
#else
        IResourceFilePostProcessor processor = new ResourceFilePostProcessor();
#endif
        For<ITrackingResourceFileService>().Add(new TrackingResourceFileService(processor));
    }    

实际上我认为这是一个 visual studio 错误,因为它不应被视为未使用。

using 放在预处理器指令中似乎可行。

#if !DEBUG
using xyz.EpiServer.Core.Tracking;
#endif