我们有使用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>
但它不起作用。
有个主意吗?
谢谢,
答案 0 :(得分:1)
有几种可能的解决方案。
我能想到的两个最简单的解决方案是:
在OSX下构建插件dll版本,并在部署到iOS时使用该版本。
切换到新的Xamarin alpha版本并尝试让代码在那里工作。这些新版本具有官方PCL支持并包括官方支持 - 包括来自 Xamarin和Microsoft的官方垫片组件。
就个人而言,我会专注于第二种选择 - 因为我们都需要尽快完成这项工作!