我有一个 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 时) = 这个;它不识别 Game1)。
我错过了一些明显的东西吗?这一直困扰着我几个小时!
编辑:澄清一下,我有 3 + 2 个项目:一个 XNAGame、MonoDroidApp(使用 MonoGame 框架)和 MonoDroidLib(Android 库的 Mono),以及 Lidgren.Network.Android 和 MonoGameFramework.Android。
如果我理解正确,我应该通过在 MonoDroidLib 中引用 XNAGame 并从 MonoDroidApp 引用 MonoDroidLib 来欺骗编译器。我想如果它有效,我会在 MonoDroidApp 中间接引用 XNAGame 并能够制作 XNAGame 的实例,但它没有用。