参考这个问题:Mono for Android preprocessor macros
我正在尝试做一些跨平台的工作,需要让__ANDROID__
宏工作。然而,在视觉工作室,它并没有把它拿起来。难道我做错了什么?该项目是一个Mono for Android项目,我刚刚更新到最新版本。
示例代码(它继续进入#else):
#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
答案 0 :(得分:0)
刚刚经过测试,它在VS2010中为我工作的库和可执行项目 - 在Mono for Android 4.2.2中工作
然而,语法突出显示“有点棘手” - 特别是它只是在我对受影响的项目进行构建后才发现__ANDROID__
代码是实时的。