Xamarin 将PCL包添加到我的项目中

Xamarin 将PCL包添加到我的项目中,xamarin,plugins,xamarin.forms,media,video-recording,Xamarin,Plugins,Xamarin.forms,Media,Video Recording,我在使用软件包时遇到问题 我的项目结构是:我在一个解决方案中有两个项目。 前一个是“Common”、“Common.Droid”和“Common.iOS”,后一个是“Demo”、“Demo.Droid”和“Demo.iOS” 通用项目是实现我可以在其他项目上重用的常用代码,而演示项目是要在设备上运行的实际程序 我已经在“Common”项目下安装并设置了这个包,我确信我已经将Droid和iOS的相关包从nuget添加到了“Common”项目中 当它开始调用时: CrossMedia.Curren

我在使用软件包时遇到问题

我的项目结构是:我在一个解决方案中有两个项目。 前一个是“Common”、“Common.Droid”和“Common.iOS”,后一个是“Demo”、“Demo.Droid”和“Demo.iOS”

通用项目是实现我可以在其他项目上重用的常用代码,而演示项目是要在设备上运行的实际程序

我已经在“Common”项目下安装并设置了这个包,我确信我已经将Droid和iOS的相关包从nuget添加到了“Common”项目中

当它开始调用时:

CrossMedia.Current.Initialize();
我收到一个错误:

此功能未在此程序集的可移植版本中实现。您应该从主应用程序项目中引用NuGet包,以便引用特定于平台的实现

Droid package.config

> > <packages>   <package id="PCLStorage" version="1.0.2" targetFramework="monoandroid70" />   <package
> id="Plugin.CurrentActivity" version="1.0.1"
> targetFramework="monoandroid70" />   <package id="Plugin.Permissions"
> version="1.2.1" targetFramework="monoandroid70" />   <package
> id="Xam.Plugin.Media" version="2.6.1" targetFramework="monoandroid70"
> />   <package id="Xamarin.Android.Support.Animated.Vector.Drawable"
> version="23.3.0" targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.Design" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.v4" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.v7.CardView" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0"
> targetFramework="monoandroid70" />   <package
> id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0"
> targetFramework="monoandroid70" />   <package id="Xamarin.Forms"
> version="2.3.3.175" targetFramework="monoandroid70" />

我想它击中了返回零的部分。。。。但是如何。。。我在中添加了便携、android、iOS版本。

您也将其添加到了本机项目中,对吗?同一版本?也许它搞砸了平台的绰号。您能把packages.config中的行和更好的包的内容发布到您的packages文件夹(在解决方案文件夹中)吗?我已经为droid部分添加了packages.config。我试过他们的样品,效果很好。我想当我开始调用CrossMedia.Current时,它开始出现故障。它可能遇到了返回空部分,该部分说#如果可移植。。。但是这个项目不应该用于PCL吗?你能试着把媒体包targetframework后面的monodroid 70改成monodroid或monodroid 60吗。在Nuget Packages.zip中,应该有一个同名的文件夹。不,它仍然不起作用。我是否也需要在Demo项目上添加包,即使Demo项目使用公共项目调用MediaPlugin。e、 g.Common.Droid.Common.Initi()在我调用的CrossPlugin.Current代码中,您也将其添加到本机项目中,对吗?同一版本?也许它搞砸了平台的绰号。您能把packages.config中的行和更好的包的内容发布到您的packages文件夹(在解决方案文件夹中)吗?我已经为droid部分添加了packages.config。我试过他们的样品,效果很好。我想当我开始调用CrossMedia.Current时,它开始出现故障。它可能遇到了返回空部分,该部分说#如果可移植。。。但是这个项目不应该用于PCL吗?你能试着把媒体包targetframework后面的monodroid 70改成monodroid或monodroid 60吗。在Nuget Packages.zip中,应该有一个同名的文件夹。不,它仍然不起作用。我是否也需要在Demo项目上添加包,即使Demo项目使用公共项目调用MediaPlugin。e、 g.Common.Droid.Common.Initi(),其中我在代码中调用了CrossPlugin.Current。
> <packages>
  <package id="PCLStorage" version="1.0.2" targetFramework="portable45-net45+win8+wp8+wpa81" />
  <package id="Rox.Xamarin.Camera" version="1.1.0" targetFramework="portable45-net45+win8+wp8+wpa81" />
  <package id="Xam.Plugin.Media" version="2.6.1" targetFramework="portable45-net45+win8+wp8+wpa81" />
  <package id="Xamarin.Forms" version="2.3.3.175" targetFramework="portable45-net45+win8+wp8+wpa81" />
</packages>
  static IMedia CreateMedia()
        {
#if PORTABLE
            return null;
#else
            return new MediaImplementation();
#endif
        }