首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法构建Godot项目“找不到名称空间名称'Godot‘”

无法构建Godot项目“找不到名称空间名称'Godot‘”
EN

Stack Overflow用户
提问于 2022-03-18 20:48:11
回答 1查看 423关注 0票数 0

我正在尝试构建一个Godot项目,它是我刚刚从我的回购系统中克隆出来的,可以在我的另一台机器上工作。

当我尝试在中构建时,我得到了错误

代码语言:javascript
复制
 error CS0246: The type or namespace name 'Godot' could not be found (are you missing a using directive or an assembly reference?)

我可以通过在Godot中创建一个基本的空场景项目并在Visual中打开新的解决方案并尝试构建来复制这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-18 20:48:11

在以下几种情况下,这一问题可能会出现:

  • 从项目在其他地方构建的回购中克隆,但在这台新机器上却没有
  • 尝试新的IDE:,Rider,VS代码
  • 新团队成员加入
  • 关于连续集成系统

该解决方案是在KellyThomas对Github问题这里的响应中实现的。

在构建项目的过程中,godot程序集被放置在项目的. mono /程序集目录中。 场景(播放按钮位于戈多窗口的左上角)或单击单面面板上的构建按钮(与输出、调试器等在同一堆栈中的中间底部)。

  1. 运行项目/场景(播放按钮位于戈多窗口左上角)或
  2. 单击mono面板上的build按钮(与输出、调试器等位于同一堆栈的中间底部)。

因此,该项目没有构建的原因是,您的IDE或build系统没有所需的dll,当您从那里运行构建时,这个dll通常由Godot程序本身放置在那里。

对于本地Dev机器,解决方案是在Godot中构建或运行项目一次,它将将dll放置在正确的文件夹中,使之保持不变,从而允许其他应用程序(如Visual或Rider )创建生成(如果您对Godot使用Rider插件,我相信它将为您创建dll )。

在CI上,这种方法有点不同,因为我们每次都要重新开始,当可以使用类似MSBuild的东西时,我们不一定想运行Godot。

我的解决方案是在工作目录之外存储所需DLL的副本,并在运行MSBuild步骤之前将其复制到构建文件夹中。

在编写本报告时,构建Godo3.4.4 Mono项目所需的DLL是GodotSharp.dll。我怀疑每次升级戈多时,你都必须复制这个DLL的新版本。

一次手工构建一个Godot项目来生成DLL (基本的hello很好)。在戈多应用程序中构建项目之后,DLL存储在项目解决方案文件(.sln)旁边的文件夹中。文件夹取决于构建的配置。

代码语言:javascript
复制
.mono/assemblies/Debug
.mono/assemblies/Release

在OSX中,.mono文件夹是隐藏的,按cmd + shift + .键查看查找器中的文件夹。

这就是如何使用yaml管道将文件复制到Azure Devops上的正确文件夹。

代码语言:javascript
复制
- task: CopyFiles@2
      inputs:
        SourceFolder: $(Agent.BuildDirectory)/GodotDlls/3.4.3
        Contents: '**'
        TargetFolder: $(binariesPath)/.mono/assemblies/Release
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71533027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档