在定位iOS设备时出现以下构建错误:
MTOUCH:错误MT2101:无法解析引用' System.Void * System.Runtime.CompilerServices.Unsafe :: AsPointer(!! 0&)',引用方法& #39; T Realms.MarshaledVector`1 :: MarshalElement(System.Int32)'在System.Runtime.CompilerServices.Unsafe,Version = 4.0.3.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'。
具体来说,我认为此处的引用是:T Realms.MarshaledVector
这在模拟器上构建良好,但在定位设备时失败。已安装Realm NuGet包。事实上,我只是删除了它并重新安装它,看看是否可能解决它;它没有。
任何人都知道其他任何事情要尝试进行此次运行,或者仅当目标是设备时才会导致此构建错误?
iOS version: 11.2.1 (15C153)
OSX version: 10.13.2
Visual Studio Community Version: 7.3.2 (build 12)
Xcode: 9.2 (9C40b)
...稍后......
好吧,看起来它绝对是王国。甚至是这样做的行为:
using Realms;
var settingsFilename = "/some/path/settings.realm";
var Config = new RealmConfiguration(settingsFilename);
导致Visual Studio社区无法使用上述错误构建项目。我在AppDelegate FinishedLaunching
中有这段代码。
接下来,我会试着去除那里的一切,看看我猜怎么样。
...稍后......
好的,参考错误现在至少有所不同。
MTOUCH:错误MT2101:无法解析引用' System.Void * System.Runtime.CompilerServices.Unsafe :: AsPointer(!! 0&)',引用方法& #39; T Realms.MarshaledVector
1::MarshalElement(System.Int32)' in 'System.Runtime.CompilerServices.Unsafe, Version=4.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Error processing method: 'T Realms.MarshaledVector
1 :: MarshalElement(System.Int32)'在汇编中:' Realm.dll' 无法解析System.Void * System.Runtime.CompilerServices.Unsafe :: AsPointer(!! 0&)
特别提到:in assembly: 'Realm.dll'
答案 0 :(得分:0)
所以至少现在我做了什么,吃了一整天之后,我只剩下0个进步。我开始了一个新项目,安装了相同的依赖项
- Realm(2.1.0)
- Serilog(2.6.0)
- Serilog.Sinks.Xamarin(0.1.29)
- System.Reactive(3.1.1)
- Xam.Plugin.Connectivity(3.0.3)
- Xamarin.Auth(1.5.0.3)
没有错误。
所以我回到了我的客户项目,删除了packages.config
中的所有软件包并重新安装了所有软件包。它似乎不再有这个构建错误(无法解析引用' System.Void * ... )。
在调试方案中,有时似乎无法正确部署到设备,并出现以下错误:
dyld:未加载库:@ rpath / libmonosgen-2.0.dylib
但清理项目并再次尝试,似乎解决了这个问题。我也可以在
下关闭增量构建 Project Settings -> Build -> iOS Build -> Enable Incremental Builds
这也将超过他的dyld装载问题。
根据其他问题Visual Studio Community missing developer tools for iOS 11.2.1, cannot debug,评论者还建议从解决方案中卸载项目并重新加载以解决问题。
所以我要算上我的祝福,继续前进,直到它再次爆炸。我应该注意到,在我将此项目中间的Visual Studio社区升级到: 7.3.2(build 12)之后,确实发生了这种情况。同样,它似乎只是在尝试在设备上进行调试时发生,在这种情况下是运行 iOS 11.2.1(15C153)的iPhone X.我还没有尝试过其他的设备/操作系统版本,因为再一次,这几天消耗了我整天。
答案 1 :(得分:0)
与Realm 2.0.0相同的错误。
我如何修理它:
System.Runtime.CompilerServices.Unsafe
System.Runtime.CompilerServices.Unsafe
lib
参考System.Runtime.CompilerServices.Unsafe.dll
手动重新添加lib
项目。 (在步骤1中安装的那个)希望它会有所帮助!