Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Android预处理器宏的Mono不工作_C#_Android_Mono_Xamarin.android_C Preprocessor - Fatal编程技术网

C# Android预处理器宏的Mono不工作

C# Android预处理器宏的Mono不工作,c#,android,mono,xamarin.android,c-preprocessor,C#,Android,Mono,Xamarin.android,C Preprocessor,关于这个问题: 我正在尝试做一些跨平台的工作,需要让\uuuuuu ANDROID\uuuuu宏正常工作。然而,在VisualStudio中,它并没有接受它。我做错什么了吗?该项目是一个Mono for Android项目,我刚刚更新到最新版本 示例代码(它不断进入#else): 刚刚经过测试,它在VS2010中的一个库和一个可执行项目中都对我有效——在Mono for Android 4.2.2中工作 然而,语法突出显示是“有点扭曲”——特别是它只发现\uuuuAndroid\uuuuuu代码

关于这个问题:

我正在尝试做一些跨平台的工作,需要让
\uuuuuu ANDROID\uuuuu
宏正常工作。然而,在VisualStudio中,它并没有接受它。我做错什么了吗?该项目是一个Mono for Android项目,我刚刚更新到最新版本

示例代码(它不断进入#else):


刚刚经过测试,它在VS2010中的一个库和一个可执行项目中都对我有效——在Mono for Android 4.2.2中工作


然而,语法突出显示是“有点扭曲”——特别是它只发现
\uuuuAndroid\uuuuuu
代码在我对受影响的项目进行构建后是活动的。

如果你将
\uuuuAndroid\uuuuuuu
定义为自定义符号,它会通过吗?重建后似乎会“醒来”。奇怪的是,Resharper在呻吟,intellisense也在发疯。这里的区别在于Android符号被定义为构建过程的一部分,而不是像WINDOWS\u PHONE那样被定义为项目构建配置的一部分。VS/Resharper在构建之前可能无法了解它。
#if WINDOWS_PHONE
                if (IsolatedStorageSettings.ApplicationSettings.Contains(CellNumberKey))
                {
                    IsolatedStorageSettings.ApplicationSettings[CellNumberKey] = value;
                }
                else
                {
                    IsolatedStorageSettings.ApplicationSettings.Add(CellNumberKey, value);
                }

                IsolatedStorageSettings.ApplicationSettings.Save();
#elif __ANDROID__

#else
                NSUserDefaults.StandardUserDefaults.SetString (value, CellNumberKey);
                NSUserDefaults.StandardUserDefaults.Synchronize ();
#endif