0

今天早上更新到最新版本的 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”的任何引用。

任何人都可以帮助解决我看到的问题的可能原因,您能否确认这将使我摆脱我看到的原始“程序集强名称”问题?

4

1 回答 1

2

作为临时措施,您可以使用此工具修复旧程序集:https ://github.com/rolfbjarne/iOSRefUpdater

更新

我已经修复了 ATMHud 绑定,现在它们应该也安装了较新版本的 Xamarin.iOS 进行编译。

于 2013-08-07T16:41:33.417 回答