MVVMCross升级到Mono 3.2.3有System.Net和System.Windows构建错误

时间:2013-10-22 20:25:53

标签: c# mono xamarin mvvmcross

我正在尝试将Xamarin MVVMCross Mobile应用程序从Mono 2.10.11升级到3.2.3。我删除了除了这两个之外的所有构建错误,

./M2 v2 (3.11)/M2.Core/BackendServices/MainAuthenticationService.cs(23,23): Error CS1070: 
The type `System.Net.CookieContainer' has been forwarded to an assembly that is not referenced. 
Consider adding a reference to assembly `System, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089' (CS1070) (M2.Core)

另一个是: -

./M2 v2 (3.2.3)/M2.Core/ViewModels/AppointmentDataViewModel.cs(16,16): Error CS1070: 
The type `System.Windows.Input.ICommand' has been forwarded to an assembly that is not referenced. 
Consider adding a reference to assembly `System, Version=4.0.0.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089' (CS1070) (M2.Core)

我已将System.Net和System.Windows添加到Core项目的引用中。我使用了不同的版本试图让它工作,包括GitHub二进制文件。

我已经查看了我用过的每个程序集,以确保这些类包含在其中,但没有运气。

我不确定我错过了什么。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

根据您使用的是Xamarin.Android还是Xamarin.iOS,这个问题的答案会有所不同 - 并且随着Xamarin继续逐步发布他们最新的PCL支持而会再次改变。

目前(今天在Xamarin稳定渠道),:

  • 任何PCL库都应链接到标准参考程序集
  • 对于Xamarin.iOS UI项目,可以链接到System.Windows和System.Net的Mono / Xamarin程序集(这些都在标准平台程序集列表中)
  • 对于Xamarin.Android UI项目,MvvmCross在我们的nuget包和我们的二进制文件中为System.Windows和System.Net提供程序集

例如,查看https://github.com/MvvmCross/MvvmCross-Tutorials/中的任何示例.csproj项目文件 - 所有这些文件都是基于Mvx 3.0.13和Xamarin stable构建的。