如何创建基于MonoGame的类库,以便在UWP,iOS和Android中使用
作者:互联网
我安装了VisualStudio 2015,Xamarin和MonoGame 3.5.我将为Windows UWP,iOS和Android构建我的XNA应用程序.
我有一些基于XNA的库……我需要为三个目标系统(Windows UWP,iOS和Android)构建它们,但无法为Windows UWP创建库.我试图创建一个MonoGame Windows 10 Universal Project,但是这样的项目无法转换为生成DLL.
我还试图创建一个类库(通用Windows)项目,但后来我无法将MonoGame.Framework添加到引用.
我在创建MonoGame Android项目时遇到同样的问题……无法切换到库项目.唯一可以修改为图书馆项目的MonoGame项目是MonoGame iOS Project.
也就是说,我如何创建一个基于XNA(MonoGame)的类库来从UWP,iOS和Android中使用?
解决方法:
据我所知,你这里只有两个选择.
> Portable Class Libraries
> Shared Projects
我还没有真正使用过共享项目.我理解它们的方式是它们允许您在多个项目之间共享代码,就像它存在于库中一样,但它实际上直接编译到引用项目中.它们可以被认为是高级文件链接.
便携式类库是一个不同的野兽.我在MonoGame.Extended项目中使用它们取得了巨大的成功,但并不总是那么容易.他们的工作方式是提供适用于所有目标平台的功能子集.它们编译为可由任何项目引用的DLL,您可以确信代码将是相同的.
使用PCL有几个缺点:
>您只能使用功能的子集.令人惊讶的是,这并不会太频繁.
>如果PCL引用另一个库,它也必须是PCL.
第二点是MonoGame让事情变得有点棘手.通常,MonoGame不作为PCL发货,但PCL版本可以使用published on NuGet.
就目前而言,NuGet软件包是官方版本背后的版本,但令人惊讶的是,这并不重要,因为它是一个bait and switch PCL,这实际上意味着它只是提供了在运行时使用的真实DLL的接口.换句话说,即使PCL是版本3.2,只要界面没有改变,你的游戏仍然会很乐意参考版本3.5.
在版本3.6中有关于改善这种情况的some talk.
标签:android,ios,visual-studio,win-universal-app,monogame 来源: https://codeday.me/bug/20190628/1311896.html