Mvvmcross插件实现凭证

时间:2013-07-03 14:35:49

标签: plugins mvvmcross portable-class-library system.net

我们有使用Mvvmcross的跨平台项目(WPF和ios)。

我们想在HttpWebRequest中使用Credentials,但我们使用PCL库。所以我们创建了mvvmcross插件来使用System.Net.CredentialCache.DefaultNetworkCredentials。

我们的插件界面返回WPF和Xamarin中存在的System.Net.ICredentials。

在WPF应用程序中,它运行良好,但ios插件无法编译。

Le type 'System.Net.ICredentials' est défini dans un assembly qui n'est pas référencé. Vous devez ajouter une référence à l'assembly 'System.Net, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.

我们尝试使用mvvmcross的System.Net.Touch,但我们也有同样的错误。

我们提取了Profile104的System.Net.dll的公钥,并将2.0.5.0版本提供给自定义dll。 我们在csproj中添加这些行:

<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\Signing\system_net.snk</AssemblyOriginatorKeyFile>
<DelaySign>true</DelaySign>

但它不起作用。

有个主意吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

有几种可能的解决方案。

我能想到的两个最简单的解决方案是:

  1. 在OSX下构建插件dll版本,并在部署到iOS时使用该版本。

  2. 切换到新的Xamarin alpha版本并尝试让代码在那里工作。这些新版本具有官方PCL支持并包括官方支持 - 包括来自 Xamarin和Microsoft的官方垫片组件。

  3. 就个人而言,我会专注于第二种选择 - 因为我们都需要尽快完成这项工作!