2013-02-21 103 views
12

我想为MonoDroid和MonoTouch创建PCL以共享代码AES加密(RijndaelManaged),但Visual Studio不会让我这样做,而是迫使我添加所有其他框架,消息如下:MonoDroid和MonoTouch的便携式类库

下框架将因为支持所有可用的功能,那就是你所选择的其他框架之间的便携式自动选择:.NET的Windows Store应用程序,.NET框架4.5的Windows电话8.

和那些框架不支持系统.Security.Cryptography命名空间。

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

有人可以请教如何将Mono框架与其他人分离,我是否需要新的配置文件或其他东西。

+0

而且随动这个问题[无法将Xamarin.Android和Xamarin.iOS添加到PCL](http://stackoverflow.com/q/21571543/1671639) – Praveen 2014-02-05 11:55:14

回答

-7

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

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

17

编辑

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


实际上,您需要做的就是将xml文件添加到正确的文件夹中。神奇的是一个名为“Android版Mono”的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

+0

自从1.8版本以来,这是不合理的,因为安装程序会自动引入此功能。在并行使用2012和2013时要小心,因为在我看来,Xamarin安装程序只能集成到一个VS中:-(。 – sprinter252 2013-11-19 16:06:45

+0

呃,您只需在安装程序中手动选择VS2013或VS2012。 – Cheesebaron 2013-11-21 08:08:56