我有一个应用程序,我想有两个版本,一个版本将有一切启用,在其他版本某些菜单项将被禁用。我尝试创建一个新的解决方案配置,其中某些菜单项被禁用。我的代码如下:
#if (SMART == true)
Download_Menu.IsEnabled = false;
ChangeLayout_Menu.IsEnabled = false;
#endif
但是这会破坏程序。
给错误:
类型为"System"的未处理异常。附加信息:无法加载文件或程序集'VirtiumStorAPIWindowsManaged, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'或其依赖项之一。试图加载格式不正确的程序
这是我第一次尝试,所以任何建议都会很棒。
所以如果我使用下面的代码,它在调试模式下工作:
#if DEBUG
Download_Menu.IsEnabled = false;
ChangeLayout_Menu.IsEnabled = false;
#endif
如何在自定义解决方案配置中使其工作?
你弄错了。更好的写:
#ifdef SMART
Download_Menu.IsEnabled = false;
ChangeLayout_Menu.IsEnabled = false;
#endif
点击这里阅读更多
和MSDN预处理器指令库站点
这是因为两种配置没有将编译为相同的CPU类型。
选择"任意CPU"还是32位还是64位
这是因为您创建的新预处理器指令的项目配置是错误的。确保新预处理器指令的解决方案配置和平台目标与您的调试配置相匹配。一个实际的例子,为什么你面对坏的图像格式异常是,在你的项目中,你可能会引用一个32位(x86)配置构建的程序集,你的项目可能会用64位(x64)构建,所以当这个项目试图加载引用类型(即64位组装试图加载32位组装),它会导致坏的图像格式异常。