今天早上更新到Xamarin Studio的最新版本后,我们项目中的ZBar和ATMHud引用开始抛出一堆错误,所有错误都是:
类型'MonoTouch.UIKit.UIViewController'在未引用的程序集中定义。考虑添加对程序集'monotouch的引用,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'(CS0012)'
我做了一些阅读,发现我需要重建两个库,因为它与Xamarin中的“程序集强名称”有关。我能够通过重建ZBar库来搞砸我的方式,但ATMHud重建给我带来了一些麻烦,而且我对我正在采取的解决问题的方法不够熟悉。
我从github下载了ATMHud项目并按照自述文件中的说明操作,在绑定目录中使用“运行'make'来构建ATMHud.dll”,但是当我这样做时,我会收到错误。
Teds-Mac:绑定ted $ make
/ Developer / MonoTouch / usr / bin / btouch -e atmhud.cs enums.cs AssemblyInfo.cs --out = ATMHud.dll --link-with = libATMHudSDK.a,libATMHudSDK.a
/var/folders/75/vl_6zkyx03sc4tymnp41lsgw0000gn/T/09x9yx7m.nz9/AtmHud/AtmHud.g.cs(751,86):错误CS0103:当前上下文中不存在名称class_ptr' does not exist in the current context
/var/folders/75/vl_6zkyx03sc4tymnp41lsgw0000gn/T/09x9yx7m.nz9/AtmHud/AtmSoundFX.g.cs(75,104): error CS0103: The name
class_ptr'
编译失败:2个错误,0个警告
btouch:API绑定包含错误。
make: * [ATMHud.dll]错误1
我已经扫描了文件夹中的文件,但似乎无法追踪对“class_ptr”的任何引用。
任何人都可以帮助解决我所看到的问题的原因,你能否证实这会让我超越我所看到的原始“装配强名”问题?
答案 0 :(得分:2)
作为临时措施,您可以使用此工具修复旧装配:https://github.com/rolfbjarne/iOSRefUpdater
<强>更新强>
我修复了ATMHud绑定,现在他们应该安装更新版本的Xamarin.iOS进行编译。