是否可以在 VS 代码中使用 monogame?

Is it possible to use monogame in VS code?

我正在使用 iball 笔记本,但我没有足够的内存来安装 Visual Studio。我在使用 VS 代码时没有遇到任何问题,而且我能够制作和创建我的控制台应用程序的可执行文件。我需要学习游戏开发,但每个人都说我需要安装 visual studio

不过我确实在 monogame 上找到了关于该主题的 fourm,并发现可以(至少在 Linux 上)在 VS 代码中使用 Monogame。

http://community.monogame.net/t/visual-studio-code-and-monogame/2371

请帮助我 out.I 想知道是否真的可以在 windows.

中编译和 运行 一个单游戏应用程序

我在 Visual Studio 上尝试过 Monogame,并拥有一台 Windows PC。所以我可以放心地确认 Monogame 确实可以在 Windows 上运行。回答你的问题。

但是,如果你想在没有 Visual Studio 的情况下尝试它,那么我认为你真的走不远。因为制作像样的工具需要多种内置工具。而且您也无法调试它。如果你不能使用 Visual Studio.

,你的工作真的很有限

尝试清理您的 PC 以获得一些免费 space。 Visual Studio 确实是更好的选择。

绝对没有理由不能通过 Visual Studio 代码使用 MonoGame。这将不是最佳设置,因为您将缺少调试,并且设置会很困难,但如果您对此没有问题,请继续。

您已经注意到创建可执行控制台应用程序没有任何问题。这就是您真正需要做的。这里的关键是您必须针对 .NET4+ 或 Mono 进行构建。如果您遵循引导您构建 .NET Core 应用程序的教程,则它们将不适用于 MonoGame(此时)。如果您正在构建 .NET Core,请花一些时间了解如何使用 MSBuild 或 Mono 构建桌面 CLR 应用程序。如果您需要更多信息,我可以对此进行扩展。您还需要确保知道如何从控制台应用程序引用其他 .NET 程序集。请在继续之前研究一下如何执行此操作。

对于 Windows,您可以选择针对 MonoGame 的 DesktopGL (OpenGL) 或 WindowsDX (DirectX) 版本。我自己偏爱 DirectX 版本。您需要 2 件东西才能起床 运行:1. MonoGame 程序集,以及 2. MonoGame 管道工具(用于将您的内容编译成 .XNB 文件,以便将它们导入到您的游戏中) .

要获得 MonoGame 的程序集和工具,我能想到的最简单的方法是安装 Visual Studio 社区版,然后下载并安装 Visual Studio 的 MonoGame。这将为您带来所有工具。然后,您需要查看 "C:\Program Files (x86)\MonoGame\v3.0\Assemblies" 以获取适当的程序集,并查看 "C:\Program Files (x86)\MSBuild\MonoGame\v3.0\Tools" 以获取 MonoGame 管道工具。

如果 Visual Studio 因为您的机器不符合要求而不允许您安装,那么您 不是 倒霉。可以通过 nuget 拉入程序集。在此处下载最新的 nuget.exe:https://dist.nuget.org/index.html and then run: nuget.exe install MonoGame.Framework.WindowsDX or nuget.exe install MonoGame.Framework.DesktopGL. This will create a directory containing a lib folder that contains a net40 folder which contains the .DLL files you need. For WindowsDX I think you'll also need the DirectX runtime https://www.microsoft.com/en-us/download/details.aspx?id=34429. For OpenGL I think you'll need OpenAL (for audio) https://www.openal.org/downloads/

获得程序集后,您需要在构建代码时引用它们。正如您所说,您已经熟悉创建和 运行 控制台应用程序,我假设您知道如何执行此操作。只需引用您使用 Nuget 下载或从安装程序的 Assemblies 文件夹中提取的每个托管 .DLL。

要进行测试,将其放入 .cs 文件中,在构建中引用 MonoGame 程序集,像构建控制台应用程序一样构建它,然后执行:

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using System;

public class Game1 : Game
{
    GraphicsDeviceManager graphics;

    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
    }

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.CornflowerBlue);
    }

    [STAThread]
    static void Main()
    {
        using (var game = new Game1())
        game.Run();
    }
}

您应该得到矢车菊蓝色背景的 window。如果你不这样做,那么你就没有正确地构建或引用事物,或者你缺少依赖项。

现在的诀窍是开始使用管道工具,然后 MGCB.exe。如果您能够为 Visual Studio 安装 MonoGame,太好了!这些文件位于我在上面引用的文件夹中。如果不是,无论出于何种原因,MonoGame 项目都不会分发这些的独立版本,而只会与安装程序一起分发。我已经获取了您需要的内容,并将其放入 GitHub 此处的虚拟版本中:https://github.com/srakowski/derp/releases/tag/MG。下载 Pipeline.zip 文件,解压,你应该有你需要的东西。

创建一个空的 Content.mgcb 文件并使用 Pipeline.exe 打开它。您应该能够添加和构建内容文件。您需要将这些文件复制到您的 .exe 所在的同一目录中。通常,这些被放入一个 Content 文件夹中,并且 Content.RootDirectory = "Content"; 被添加到游戏的构造函数中。

完成所有这些工作后,您应该可以自由自在地按照自己的意愿创建游戏。如果您遇到问题,请告诉我,我们会解决的。

答案编辑为 Monogame 发布官方 dotnet 项目模板

我终于成功了。

我意识到我需要的只是创建一个单一游戏项目 (*.csproj) 并且 Compile/Build 它没有 Visual Studio。 VS Code 只是一个功能丰富的文本编辑器,我需要其他工具集。

MSBuild 工具用于 Compile/Build monogame 项目,可作为 CLI 使用。无需安装 Visual Studio 即可使用。 C#项目构建需要dotnet core。执行脚本

dotnet new [Template]

创建一个新项目。我们需要在这里添加一个 monogame 的模板。

根据 Monogame 团队的最新更新,您可以通过执行

安装模板
dotnet new --install "MonoGame.Templates.CSharp"

使用脚本

dotnet new -h

检查所有可用的模板。

现在,要生成项目,请使用以下内容

dotnet new mgwindows

成功执行后,将生成[FolderName].csproj、Game1.cs、Program.cs和其他files/folders的monogame项目。请注意,此 csproj 在 .NET Framework 上(如果我没记错的话是 4.5 版....),因此它可能不适用于 dotnet 运行 命令。 (如果你有点固执,你可能需要在你的 dotnet 安装文件夹中复制 Monogame 安装文件夹(其中包含许多其他文件,Monogame.target 文件)。)

换句话说,使用 msbuild 构建 运行 项目

msbuild

如果程序不包含任何编译时错误,将成功构建 .exe 文件,您将看到要执行的输出文件路径。

如果您正在 Linux 工作或出于其他原因不使用 MSBuild,则不应生成 mgwindows 项目。你可以选择

dotnet new desktopgl

适用于 dotnet 核心(即您可以使用 dotnet 运行 命令来执行它)。

我在介质中写了 this(Windows-only)解决方案。这是如何在 VSCode.

的终端中使用 MonoGame 安装和 运行 dotnet 的分步说明

您需要安装:

  • .NET SDK 5.0
  • .NET 核心 SDK 3.1
  • .NET 运行时 5.0

您可以 运行 dotnet 在您的终端中查看它是否正常工作。

  1. 安装 MonoGame 编辑器:

    dotnet tool install --global dotnet-mgcb-editor
    

    mgcb-editor --register
    
  2. 安装 MonoGame 模板:

    dotnet new --install MonoGame.Templates.CSharp
    
  3. 在所选模板中创建一个新项目:

    dotnet new mgdesktopgl -o ProjectName
    
  4. 使用cd ProjectName进入您的项目并向其中添加MonoGame包:

    dotnet add package MonoGame.Framework.DesktopGL --version 3.8.0.1641
    
  5. 最后:

    dotnet run Program.cs