如何使用Github PR正确更新Monogame

时间:2013-11-12 16:39:13

标签: windows-phone-8 visual-studio-2013 monogame

Heey,

我有点问题。目前可用的Monogame 3.2版本没有Windows Phone 8的工作模板。这将导致黑屏和非工作应用程序。所以我进入了他们的git hub并找到了问题https://github.com/mono/MonoGame/pull/2089以及修复它并发布了Pull请求的人。

现在的问题是我在构建自己的版本或编辑项目模板文件方面几乎没有经验。我有一些常识,并开始深入研究这一切,并已经尝试将模板文件复制到我的visual studio文件和构建项目并抛出新的.DLL,但这一切都不想正常工作。我开始使用较旧的模板,但我需要新版本,因为我们需要在我们的游戏中使用Windows phone 8中对横向的适当支持。

现在是我的问题,如果有人知道正确/正确的方法来做到这一点。简要总结一下复制的内容。

提前致谢。

3 个答案:

答案 0 :(得分:2)

好的,我花了一些时间,但我想出了要复制,构建,设置和运行的内容。

你下载.Zip或者把你的Github拉到一个空的文件夹中,完成后提取它。

  1. 在地图中打开MonoGame.Framework或MonoGame.Framework。“你的 目标平台“将启动视觉工作室。
  2. 构建解决方案/项目(不要忘记构建ARM,x86和 x64如果已启用且需要)并导航到“已提取 文件夹“/MonoGame.Framework/bin/”你的目标平台“同样如此 时间打开一个新的资源管理器并导航到您的MonoGame安装 默认情况下为C:\ Program Files(x86)\ MonoGame \ v3.0
  3. 在解压缩的文件夹中导航到目标平台 构建MonoGame.Framework.dll并将其复制到对面的C:\ Program 文件(x86)\ MonoGame \ v3.0 \ Assemblies \“目标平台”\“build”
  4. 重建您的项目/解决方案
  5. Gratz你现在更新了你的MonoGame :)

    这可以解决您的问题,但在手机或模拟器DXGI相关的初始化应用时,您可能仍会收到错误消息。 如果发生这种情况,请执行以下步骤问题可能在于您的SharpDX.WP8.dll如何解决这个问题?在我的情况下,下载并安装最新的SharpDX http://sharpdx.org/download/,你还可以进一步了解如何只下载SharpDX.WP8.dll& .winmd!

    1. 导航到SharpDX安装(默认情况下为C:\ Program Files (x86)\ SharpDX)进一步导航到 Bin \ DirectX11_1-“platform” - “build”\并复制SharpDX.WP8.dll和 .winmd到C:\ Program Files (86)\ MonoGame \ 3.0 \装配\ WindowsPhone的\”建立”
    2. 重建您的项目/解决方案(如果这仍然不起作用,您可以 需要手动将引用再次添加到SharpDX.WP8.winmd中 两个建立)
    3. 所以,如果没关系,这应该可以解决大多数问题,但还有一个问题。在MonoGame 3.0.x和3.2之间,Windows手机游戏的项目模板已经改变,但这在代码中并不顺利。所以我们现在要更新Visual Studio的项目模板。

      1. 返回提取的Monogame地图并进入文件夹 “ProjectTemplates”\“您的视觉工作室版”\ WindowsPhone
      2. 选择所有文件并创建.Zip(可以通过集成完成 Windows选项“发送到”)确保当你打开.Zip时你会 立即查看所有文件,它们不嵌套到文件夹中 在.Zip里面。
      3. 导航到C:\ Users \“您的PC名称”\ Documents \ Visual Studio 201X \ Templates \ ProjectTemplates \ Visual C#\ MonoGame并复制你的 刚创建.Zip并覆盖现有文件。
      4. 如果使用不同版本的Visual Studio,则可能必须执行这些步骤,因为VS2013内部缺少对XNA的支持。 现在你应该修复任何可能的问题。如果您的项目仍然出错,请尝试重新创建一个新项目(这将使用您刚刚复制粘贴的新更新模板并且可以正常工作)如果这仍然不起作用请发布出错但这一切都应该做!这些说明也适用于所有其他平台(至少你可以建立的平台)

答案 1 :(得分:0)

很容易将其拉入您自己的版本。

请按照以下步骤操作:

  1. 分享Monogame存储库
  2. 将您的版本克隆到本地计算机
  3. 找到已修复代码的存储库。
  4. 在命令提示符下,转到 MonoGame 文件夹,然后在计算机上使用此行拉取更改。 (分支很可能是主人)
  5. git pull http://github.com/other/repo branch_name

    将pull请求拉入本地分支后,只需使用Visual Studio构建它。

    如果您认为自己经常这样做,也可以按照以下步骤操作。

    https://help.github.com/articles/syncing-a-fork

答案 2 :(得分:0)

由于某些原因,MrME,我无法让你的解决方案工作,因为有些人缺少SharpDX参考资料而难以手动添加。虽然您的解决方案可能有效,但我想提供一个替代方案,如果您有耐心将代码转移到Monogame 3.2项目并且仍然是黑屏:

将DrawingSurface设置为GamePage.xaml中的DrawingSurfaceBackgroundGrid。详细信息可在GamePage.xaml文件底部的注释说明中找到。

来源:https://github.com/mono/MonoGame/issues/2081