加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

xamarin – 从Cirrious.MvvmCross.dll引用的MvvmCross程序集无法

发布时间:2020-12-14 01:56:31 所属栏目:Windows 来源:网络整理
导读:我正在尝试建立一个MvvmCross应用程序项目并对其运行单元测试(即其中的视图模型).我在OS X上使用Xamarin Studio(v.4.0.4,在撰写本文时最新). MvvmCross App被设置为便携式类库.测试程序集设置为引用NUnit框架的普通Mono / .Net程序集(不是PCL). 尝试执行测试
我正在尝试建立一个MvvmCross应用程序项目并对其运行单元测试(即其中的视图模型).我在OS X上使用Xamarin Studio(v.4.0.4,在撰写本文时最新).

MvvmCross App被设置为便携式类库.测试程序集设置为引用NUnit框架的普通Mono / .Net程序集(不是PCL).

尝试执行测试时,它们会因System.TypeLoadException而失败.

我已经开始使用Mono binding log进行测试了.这是输出:

Mono: The following assembly referenced from
/Users/jr/dev/rowinginmotion-cross/RowingInMotion.Mobile.BoatApp.Tests/bin/Debug/Cirrious.MvvmCross.dll
could not be loaded:
Assembly: System (assemblyref_index=3)
Version: 2.0.5.0
Public Key: 7cec85d7bea7798e System error: Invalid argument

Mono: Failed to load assembly Cirrious.MvvmCross[0x559960]

Mono: Could not load file or assembly ‘System,Version=2.0.5.0,
Culture=neutral,PublicKeyToken=7cec85d7bea7798e,Retargetable=Yes’ or
one of its dependencies.

是否不支持此测试设置=

解决方法

这个问题与Xamarin和Mono尚未正确支持可移植类库这一事实有关 – 相反,它们根据您加载的Mono(Xamarin.Android,Xamarin.iOS等)版本编译和链接本地固定程序集 – 有关更多信息,请参阅 http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html.

在Windows上,您可以使用BindingRedirect功能解决此问题,但我还没有找到任何方法在Xamarin的环境中使用XBuild解决问题(例如,请参阅http://forums.xamarin.com/discussion/3733/playing-with-pcls上的我的PCL和Mac问题)

我可以看到当前在完整的.Mac(.Net)项目中加载此代码的唯一方法是使用Xamarin建议的文件链接方法 – 复制项目文件并针对相应的目标特定地编译副本.

希望这种情况很快就会发生变化 – 因为官方的PCL支持将在未来几天和几周内以alpha形式提供.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读