问题描述
我最近买了一台新电脑,终于开始安装 MonoGame,因为几个月前我在旧电脑上使用过它,并且在不处理 2D 游戏时主要使用 Unity 进行游戏开发。他们的网站说他们有与 Rider 一起使用的 CLI 模板,但我认为最好先将它与 Visual Studio 一起安装。按照 MonoGame 网站上列出的确切步骤,我安装了所需的一切,并从 Visual Studio MonoGame 模板之一启动了一个项目。打开项目,一切都完成加载后,我向 this miserable sight 致意。我在控制台中也有一个与 MonoGame 相关的错误,带有 error code MSB3073。从我所做的研究中,我发现它要么与我的用户名中有空格有关(显然没有,所以不在图片中),或者与使用 Visual Studio 模板有关,并且我只需要从 CLI 模板创建项目,如 here 所示。但是,从 CLI 模板创建新项目不会改变任何内容。我试过卸载并重新安装 dotnet,我试过卸载并重新安装 Visual Studio。当然,我已经多次关闭并重新打开计算机。即使在程序中安装了正确的 MonoGame 包后尝试在 Rider 中打开项目也会出现完全相同的错误。但是当我将项目压缩并发送给与 MonoGame 合作的朋友时,他能够毫无问题地运行该项目,因此很明显这与我的设置有关。
我还清理了我的 nuget 缓存,清理了我的项目临时文件夹,并清理了 Visual Studio 缓存。最终,当我简单地关闭并再次打开项目时,Microsoft 依赖项不再出现问题,但是每次我在 Visual Studio 中打开项目时,我都会在控制台中收到相同的错误,并且它阻止我运行/构建项目。
希望这里有人知道如何处理我提供的信息,因为我完全没有想法!
解决方法
所以我想通了。我对命令行的经验不是很丰富,但我设法找到了一个 very nice tutorial 一个想要仅使用命令行使用 MonoGame 制作游戏的人。在其中,我能够尝试从 CLI 构建项目,但它给了我一条与 Visual Studio 中不同的错误消息。它说 MonoGame 仅适用于 64 位操作系统,但我使用的是 64 位操作系统。于是我去看看用的是什么版本的dotnet,果然是32位版本!花了一段时间才弄清楚如何卸载它,以及如何在命令行中使用 dotnet-core-uninstaller 工具。然后我所要做的就是删除 System 类别中引用 dotnet 的 Program Files (x86) 目录的 Path 变量的环境变量。
希望如果其他人遇到这个问题,他们会找到这篇文章,因为其他人似乎都没有完全解释如何做任何需要做的事情来解决这个问题:)