我刚刚在XNA写了一个游戏,它只有两个项目 - 游戏和图书馆。它工作正常,现在我把它移植到Monogame。
我创建了一个MonoGame Game项目和一个类库,并将旧的XNA项目中的所有文件放入其中。类库构建时没有任何问题或错误。但是,它不会让我从我的其他(游戏)项目中添加对它的引用。
它只是说“无法添加对[MyLibrary]的引用”
我读到了一些关于它的内容可能是因为它们针对不同的框架 - 一个目标.net和一个目标“.net CORE”但我不知道是否是这种情况,或者如何解决它。
有人可以告诉我应该做些什么吗?
答案 0 :(得分:1)
您对框架定位问题的看法可能是正确的。
有几种方法可以解决这个问题,第一种方法是尝试将您的库更改为可移植类库。它们旨在能够针对不同的框架,包括MonoGame支持的不同框架。 http://msdn.microsoft.com/en-au/library/gg597391.aspx
可移植类库的缺点是它们只支持完整.NET框架的一个子集。如果是这种情况,您将尝试将您的库更改为Mono for Android Library项目(或您要定位的任何框架)。
如果您想为多个目标框架构建并且需要最小化每个项目中重复代码的数量,我认为您最好的选择是将文件添加为每个项目的“链接”。它增加了一些维护,但允许您在一个项目中编辑文件并对所有项目进行更改。
答案 1 :(得分:1)
如果我是你,我会避免使用便携式类库,因为@craftworkgames指定的原因,以及我自己开发Windows 8应用程序的经验 - 它们只是让你麻烦。虽然从设计原则中将您的类分成自己的库是好的,但我会将它们全部添加到您的开发项目中(除非您正在编写一个您希望世界能够使用的API?)