【问题标题】:Is It possible to use #if DEBUG constants to execute code in debug mode in Xamarin.Forms?是否可以使用#if DEBUG 常量在 Xamarin.Forms 中以调试模式执行代码?
【发布时间】:2020-06-23 01:12:28
【问题描述】:

我正在构建一个应用程序,我只想将一些值用于测试目的,所以我编写了类似这样的代码:

#if DEBUG
    public const string AndroidCeneamStaticBannerTest = "ca-app-pub-3940256099942544/6300978111";
    public const string AndroidCeneamInterstitialBannerTest = "ca-app-pub-3940256099942544/1033173712";
    public const string AndroidCeneamInterstitialVideoTest = "ca-app-pub-3940256099942544/8691691433";
    public const string AndroidCeneamRewardedVideoTest = "ca-app-pub-3940256099942544/5224354917";
#else

    public const string AndroidCeneamStaticBanner = "ca-app-pub-7822579076265627/3466411993";
    public const string AndroidCeneamInterstitialBanner = "";
    public const string AndroidCeneamInterstitialVideo = "";
    public const string AndroidCeneamRewardedVideo = "";
#endif

现在,每当我在 VS2019 设置调试选项时,带有 #if 语句的代码仍然是彩色的,而 #else 语句中的代码仍然是灰色的!

好吧,我认为当您使用该代码并将 VS2019 设置为发布模式时,它的行为类似于原生 UWP,但在我的 VS2019 中,#if 语句中的代码仍然是彩色的,而忽略了我只是将构建设置为发布模式,显然我期望着色的代码仍然是灰色的。

所以我的问题如下:是否可以在 Xamarin.Forms 中以调试模式执行代码并以发布模式执行另一个代码??

非常感谢您的帮助,谢谢!

【问题讨论】:

  • 是的,您可以,但是您需要验证编译器符号在您的项目选项对话框中是否正确定义。
  • 我不知道你是如何定义调试符号的,你能指出我的方向吗
  • 这与您的代码是否处于调试模式无关,而是是否为调试/发布配置定义了一个名为DEBUG 的符号。默认情况下应该是这种方式,但可以轻松更改。检查您的项目属性。请参阅此处了解如何定义它:stackoverflow.com/questions/2355340/…
  • 项目属性、编译器、定义符号
  • 对话框顶部有一个下拉菜单供您选择配置,因此您可以按配置编辑符号

标签: c# xamarin.forms admob visual-studio-2019


【解决方案1】:

是的,这是可能的。但是有一些关于构建指令的设置,您应该在解决方案中进行,而不仅仅是在项目中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-06
    • 2013-05-09
    • 2012-05-04
    • 1970-01-01
    相关资源
    最近更新 更多