自定义条件编译符号

问题描述 投票:1回答:1

我目前正在努力使用自定义配置。我的解决方案有一个.NET标准库和另外两个使用该库的项目(一个用于Windows,一个用于Android)。

我尝试做的是给库编译器常量WINDOWS和MOBILE。

多数民众赞成我多次尝试过:

  1. 创建两个新配置WindowsDE和MobileDE,从Debug配置复制设置并创建新项目配置。在某些尝试中,我还删除了默认的Debug配置,但这没有帮助
  2. 库的属性 - >构建,选择Windows并将WINDOWS放入条件编译符号字段,然后选择Mobile DE并将ANDROID放入其中。

我正在通过调用库中的方法来测试它:

#if WINDOWS
        System.Diagnostics.Debug.WriteLine("Windows");
#endif

#if ANDROID
        System.Diagnostics.Debug.WriteLine("Android");
#endif

但这根本不起作用。也只是使用

System.Diagnostics.Debug.WriteLine("anything");

没有任何#if不打印,在某些尝试我甚至不能再调试库。

非常感谢任何帮助

c# visual-studio xamarin conditional-compilation
1个回答
2
投票

您可以在项目属性中定义条件编译常量

enter image description here

#if WINDOWS
    System.Diagnostics.Debug.WriteLine("Windows"); // NOT printed!
#endif

#if ANDROID
    System.Diagnostics.Debug.WriteLine("Android"); // Printed!
#endif

您可以输入以分号分隔的多个符号。不要设置它们truefalse。列出的是true。缺少的是自动false

如果无论是打印还是打印,那么解决方案可能无法编译,并且您正在运行旧代码。尝试重建解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.