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

use*_*302 12 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框架与其他框架隔离,我是否需要新的配置文件或其他内容.

Sof*_*ion 17

编辑

现在,安装程序会自动完成此操作.您还需要最新版本的nuget.


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

文件名:

MonoAndroid,Version=v1.6+.xml
Run Code Online (Sandbox Code Playgroud)

放入文件夹:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.0\Profile\Profile104\SupportedFrameworks
Run Code Online (Sandbox Code Playgroud)

文件内容:

<?xml version="1.0" encoding="utf-8"?>
<Framework DisplayName="Mono for Android"
  Identifier="MonoAndroid"
  Profile="*"
  MinimumVersion="1.6"
  MaximumVersion="*" />
Run Code Online (Sandbox Code Playgroud)

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


dna*_*dna -7

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

您可能需要尝试启用:.NET >= 4.0.3 和 Silverlight 5 以获得应与 Xamarin 产品兼容的配置文件。