c# - cs文件在vs中表现得很奇怪
问题描述
#if _WIN32
const string DLL_NAME = "uFCoder-x86.dll"; // for x86 target
#elif _WIN64
const string DLL_NAME = "uFCoder-x86_64.dll"; // for x64 target
#else // #elif _ARM
const string DLL_NAME = "uFCoder-arm.dll"; // for ARM target
#endif
有谁知道这里发生了什么?我尝试从 MainPage 调用我的 cs 文件并在调试 64/84 中运行。正确地,当我在以 64/84 运行之间切换时,它应该相应地改变,但是在将文件移动到新位置后,它一直卡在 else 条件并且返回也出错了。我在 UWP Visual Studio 中运行它。
解决方案
C# 中没有开箱即用的 _WIN32 或 _WIN64 预处理器指令。请参阅#if(C# 参考)
您必须自己定义它们或使用其他机制。您可以查看C# Directive 以指示 32 位或 64 位构建
自己定义符号
解决方案属性 -> 项目属性 -> 构建 -> 将它们添加到条件编译符号中:
请记住将它们添加到调试和发布配置中。
另外,请注意,这是针对每个项目的,而不是针对整个解决方案的。
推荐阅读
- java - Java Spring 简单的 HTML 链接
- accessibility - 以编程方式将焦点设置到阅读顺序中较早的控件是否是一种不好的做法,因为必须禁用焦点元素?
- angular - Angular 6 中的 FontAwesome 图标?
- kubernetes - 向 GKE 上的部署公开数据库
- netbeans - 失败的 NetBeans Java Native Packaging for Linux
- oracle - Oracle Forms 12c 与 BI Publisher 的集成
- c - 启用 linux 服务以显示弹出窗口
- visual-studio - Windows 应用商店 - 无法安装应用,因为您的 PC 可能不满足某些要求
- php - SLIMFramework:从一个参数拆分为三个参数
- amazon-web-services - 基于 AWS 功能的许可