适用于MonoDroid和MonoTouch的便携式类库

时间:2013-02-21 09:44:14

标签: xamarin.ios xamarin.android portable-class-library

我想为MonoDroid和MonoTouch创建PCL,共享代码AES加密(RijndaelManaged),但Visual Studio不允许我这样做,而是强迫我添加所有其他框架,消息如下:

  

将自动选择以下框架,因为它们支持在您选择的其他框架之间可移植的所有可用功能:.NET for Windows Store应用程序,.NET Framework 4.5,Windows Phone 8。

并且这些框架不支持System.Security.Cryptography命名空间。

MonoDroid和MonoTouch的文件放在C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework.NETPortable \ v4.5 \ Profile \ Profile78 \ SupportedFrameworks中,已经包含.NET for Windows Store apps.xml ,.NET Framework 4.5.xml,Windows Phone 8.xml。

有人可以建议如何将Mono框架与其他框架隔离,我是否需要新的资料或其他内容。

2 个答案:

答案 0 :(得分:17)

修改

现在由安装程序自动完成。您还需要最新版本的nuget。


实际上,您需要做的就是将xml文件添加到正确的文件夹中。奇怪的是,将出现名为“Mono for Android”的PCL配置文件。

文件名:

MonoAndroid,Version=v1.6+.xml

放入文件夹:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile104\SupportedFrameworks

文件内容:

<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="Mono for Android"
  Identifier="MonoAndroid"
  Profile="*"
  MinimumVersion="1.6"
  MaximumVersion="*" />

有关更多信息,请查看mvvmcross项目https://github.com/slodge/MvvmCross

答案 1 :(得分:-7)

Afaik的Visual Studio没有Xamarin产品的PCL配置文件。所以你不能选择它。

您可能希望尝试启用:.NET&gt; = 4.0.3和Silverlight 5以获取应与Xamarin产品兼容的配置文件。