我目前正尝试使用V3设置我的应用。
对于WP8和Android,实际上工作正常。但我在iOS上喋喋不休。
如新教程中所述,我添加了以下对我的Core-Project的引用:
当我在我的mac上打开我的解决方案(得到一个只包含iOS和Core项目的解决方案)时,Xamarin Studio开始抱怨,它无法找到ICommand所需的System.Windows.Input内容。
目前它在代码中找不到ICommand / IList / MvxRealyCommand ......:S
所以问题是: 我要引用哪个dll核心项目才能使它在Xamarin Studio中运行?
编辑: 好的,我要将以下引用添加到我的Core-Project:
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Net" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.ServiceModel" />
<Reference Include="System.Windows" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Xml.Serialization" />
</ItemGroup>
不确定我是否需要所有这些,只需从会议示例中复制粘贴它们。 我还要做更多的研究:S
答案 0 :(得分:3)
2013年6月更新
Xamarin现已发布了他们的第一个PCL支持。
此外,还找到了针对此问题的一个简单解决方法:只是不使用MvxCommand
,而是使用您自己的本地项目MyCommand
System.Windows.Input.ICommand
实现作为Core
的一部分{ {1}}项目。
更新结束
Xamarin尚未正确支持PCL
因此,你必须为ios版本单独编译你的pcl项目 - 你必须引用为iOS构建的dll,而不是为'适当的PCL'构建的dll
当遵循当前的mvx演练时,这意味着您需要在Mac上使用不同的mvvmcross二进制文件。我通常只需将不同的dll文件放在/ lib / mvx文件夹
中repo https://github.com/slodge/mvvmcross-binaries目前包含四组二进制文件 - 这些二进制文件涵盖所有pcl和ios,调试和发布
http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html?m=1
提供了有关此情况的更多信息希望这种情况很快就会发生变化 - 只要适当的PCL支持到达,我们就应该能够在所有平台上使用相同的二进制文件集:)