0

我目前尝试使用 V3 设置我的应用程序。

适用于 WP8 和 Android。但我在 iOS 上苦苦挣扎。

如新教程中所述,我已将以下引用添加到我的核心项目中:

  • Cirrious.CrossCore.dll
  • Cirrious.MvvmCross.dll

当我在我的 Mac 上打开我的解决方案(得到一个只包括 iOS 和核心项目的解决方案)时,Xamarin Studio 开始抱怨,它找不到 ICommand 所需的 System.Windows.Input 东西。

目前它在代码中没有找到 ICommand/IList/MvxRealyCommand...:S

所以问题是:我必须在核心项目中引用哪个 dll 才能使其在 Xamarin Studio 中工作?


编辑:好的,我必须将以下引用添加到我的核心项目中:

  <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

4

1 回答 1

3

2013 年 6 月更新

Xamarin 现在已经发布了他们的第一个 PCL 支持。

此外,已找到解决此问题的一个简单解决方法:干脆不要使用MvxCommand,而是使用您自己的本地项目MyCommand实现System.Windows.Input.ICommand作为项目的一部分Core

更新结束


Xamarin 尚未正确支持 PCL

因此,您必须为 ios 构建单独编译 pcl 项目 - 并且您必须引用为 iOS 构建的 dll 而不是为“正确的 PCL”构建的 dll

按照当前的 mvx 演练,这仅意味着您需要在 Mac 上使用不同的 mvvmcross 二进制文件。我通常通过将不同的 dll 文件放在 /lib/mvx 文件夹中来做到这一点

回购https://github.com/slodge/mvvmcross-binaries目前包含四组二进制文件 - 这些涵盖所有 pcl 和 ios,调试和发布


有关这种情况的更多信息,请访问http://slodge.blogspot.co.uk/2013/01/almost-portable-binaries.html?m=1


希望这种情况很快就会改变——一旦适当的 PCL 支持到来,那么我们应该能够在所有平台上使用相同的二进制文件集:)

于 2013-03-24T13:36:29.350 回答