微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建基于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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐