可移植类库/ mvvmcross中的Skydrive同步

时间:2013-11-22 15:01:59

标签: c# .net-assembly mvvmcross portable-class-library live-sdk

我有便携式库(mvvmcross)解决方案,在Core项目中我有Live SDK方法:

Client.DownloadCompleted += delegate(object o, LiveDownloadCompletedEventArgs e)
        {...}

Client.DownloadAsync(SKYDRIVE_PATH + USER_DEFINED_FILE);

LiveDownloadCompletedEventArgs存在问题:

错误1类型'System.ComponentModel.AsyncCompletedEventArgs'在未引用的程序集中定义。您必须添加对程序集'System,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e'的引用。

我在哪里找到这个系统组件?我试着补充一下:

"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll" 

但是无法添加系统组件。

1 个答案:

答案 0 :(得分:1)

遗憾的是,如果API /库不可移植,那么您将无法通过添加对不同System.dll程序集的引用来强制它可用。

每当API无法移植时,我建议:

  • 将它们包装在接口后面,并将它们从本机平台注入可移植代码中。在http://mvvmcross.wordpress.com/
  • 的N = 31中有一些这样的例子
  • 选择将代码放入不可移植的库中,代码通过文件链接而不是通过PCL共享

Daniel Plaisted在http://blogs.msdn.com/b/dsplaisted/archive/2012/08/27/how-to-make-portable-class-libraries-work-for-you.aspx

对此有更多想法