是否可以使用 #if DEBUG 常量在 Xamarin.Forms 中以调试模式执行代码?
Is It possible to use #if DEBUG constants to execute code in debug mode in Xamarin.Forms?
我构建了一个应用程序,我想将一些值仅用于测试目的,所以我编写了类似这样的代码:
#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 中是否可以在调试模式下执行代码并在发布模式下执行另一个代码??
非常感谢您的帮助,谢谢!!
是的,这是可能的。但是您应该在解决方案中进行一些关于构建指令的设置,而不仅仅是在项目中。
我构建了一个应用程序,我想将一些值仅用于测试目的,所以我编写了类似这样的代码:
#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 中是否可以在调试模式下执行代码并在发布模式下执行另一个代码??
非常感谢您的帮助,谢谢!!
是的,这是可能的。但是您应该在解决方案中进行一些关于构建指令的设置,而不仅仅是在项目中。