visual-studio - MAUI 项目中的预处理器指令在哪里设置

标签 visual-studio maui

我有一个在 Windows 计算机上为 iOS 和 Android 设备构建的 MAUI 项目。那里一切正常。

当我尝试在 Visual Studio for Mac 上运行相同的代码时,它失败了,因为它找不到在预处理器指令中定义的 iOS 设备代码,如下所示:

#if ANDROID
//do some Android stuff
#elif IOS
//define some properties
#endif

它不会编译和运行,因为它说找不到“IOS” block 中定义的属性。它将“ANDROID”预处理器指令 block 中的代码显示为事件状态。在 Windows 上,它会根据您选择的调试器输出(例如 Android 模拟器或设备、iOS 模拟器或设备)自动选择要使用的正确指令。它不会在 Mac 上执行此操作,那么有什么方法可以在 Mac 的 VS 2022 17.3 中强制执行此操作吗?

最佳答案

我终于明白了这一点...如果你习惯了 Windows,我想这只是 Mac 上很难找到的东西之一。这是屏幕截图:

enter image description here

红色圆圈是构建配置,旁边是目标。在 Windows 中,当您选择目标时,它也会自动翻转目标操作系统。在 Mac 上,这种情况不会发生。因此,粉色圆圈围绕着一个下拉列表,您可以在其中手动选择目标操作系统,当您这样做时,将相应地启用适合操作系统的编译器预处理器选项。您可以在下面的屏幕截图中看到,现在“IOS” block 中的代码终于激活了。

关于visual-studio - MAUI 项目中的预处理器指令在哪里设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73420306/

相关文章:

c# - 如何自定义MAUI ContentPage的导航标题 View

maui - 如何将网格行与顶部和底部对齐并让中间填充屏幕的其余部分

c# - 为 MAUI Visual Studio 2022 安装 Android 工作负载时出现问题

android - 调试 .NET MAUI android 应用程序时断点未命中

maui - .Net Maui - ShellContent 导航问题

visual-studio - 用于自定义命令的 Visual Studio vsix 包,类似于 "Go To Definition"(F12)

c# - 在 Visual Studio 2013 中将自定义项添加到智能感知

visual-studio - Visual Studio 调试未附加到 WebDev.WebServer.EXE

visual-studio - PEM_read_bio_X509(有时)失败(OpenSSL 1.0.1p)

c++ - 如何在 C++ 中调用 KeBugCheck 或 KeBugCheckEx