【问题标题】:Unable to reference XNA project for MonoGame Android无法为 MonoGame Android 引用 XNA 项目
【发布时间】:2012-11-04 18:48:08
【问题描述】:

我有一个 XNA 项目,我正在尝试使用 MonoGame 将其移植到 Android,但出现以下错误:

当我添加一个项目引用我的 XNA 游戏时,我得到了 "The Target Framework version for the project is higher than the current project Target Framework version. Would you like to add this reference to your project anyway?"

所以我说是,然后它在 Visual Studio 的解决方案资源管理器中得到一个警告标志。当我构建时,我得到了错误:

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(609,5): error : The OutputPath property is not set for project 'XXXXXXXXX.csproj'." . Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='AnyCPU'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.

所以我认为对我的 XNA 游戏的引用是问题所在。它的目标框架是 .NET Framework 4,我的 Android 项目目标是 Android 2.2。

我已经阅读 [1] Android 没有 .NET 4,所以我认为这就是问题所在,但我尝试创建一个类库以供参考,但我不确定这会如何准确地工作。我在我的类库中添加了对我的 XNA 游戏的引用,并从我的 MonoDroid 项目中添加了对我的类库的引用,但是现在我无法创建我的 XNA 游戏的实例(即当我尝试执行 Game1.Activity 时) = this;它无法识别 Game1)。

我是否遗漏了一些明显的东西?这已经困扰了我好几个小时了!

编辑:澄清一下,我有 3 + 2 个项目:一个 XNAGame、MonoDroidApp(使用 MonoGame 框架)和 MonoDroidLib(用于 Android 库的 Mono),以及 Lidgren.Network.Android 和 MonoGameFramework.Android。

如果我理解正确的话,我应该基本上通过在 MonoDroidLib 中引用 XNAGame 并从 MonoDroidApp 引用 MonoDroidLib 来欺骗编译器。我想如果它工作,我会在 MonoDroidApp 中间接引用 XNAGame 并能够制作 XNAGame 的实例,它没有工作。

1:Prexisiting dlls (.NET 4 framework) issue with mono for android

【问题讨论】:

  • 您能指定您添加的项目类型吗?项目参考指向什么?适用于 Android 的 Mono 应用程序? Android 类库的 Mono?您不能在 Mono for Android 项目中添加对普通 .NET 库的引用。
  • 这里也有类似的问题:stackoverflow.com/questions/10551652/…
  • 我的项目是我的 XNA 项目(我认为它使用 .NET),我正在尝试在使用 MonoGame 的 Mono for Android 应用程序中使用它,并且在从 url 读取后我制作了一个 Mono for Android 类库我给了。我将它们称为 XNAGame、MonoDroidApp 和 MonoDroidlib。如果我理解正确,我应该通过在 MonoDroidLib 中对 XNAGame 进行引用并从 MonoDroidApp 对 MonoDroidLib 进行引用来欺骗编译器。我想如果它工作,我会在 MonoDroidApp 中间接引用 XNAGame 并能够制作一个 Game1(),但它没有工作。
  • 据我了解,您需要创建一个 android 类库并将您的 XNA 源文件添加到其中,以便它针对 Mono for Android 框架而不是 vanilla .NET 4 框架进行编译。你试过这个吗?
  • 好的,我已经使用本教程jmawebtechnologies.com/company-blog/april-2012/… 再次尝试了它,我已经在 MonoDroidApp 项目中添加了指向 XNA 项目文件的链接,并将 MonoDroidApp 放在 XNAGame 命名空间中并构建了!现在的问题是让它在 OpenGL ES 2.0 帧缓冲区中运行...

标签: .net visual-studio-2010 xna xamarin.android monogame


【解决方案1】:

Monogame 在项目构建后不使用 XNA 程序集。这意味着您的最终项目无法访问您引用的任何 XNA 程序集。这就是为什么 monogame 项目没有 XNA 内容项目而是有 assets 文件夹的原因。

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多