C#中的.NET Unreal Tournament机器人无法构建Codeplex代码

时间:2015-03-15 10:46:43

标签: c# .net visual-studio-2012

我想使用虚幻竞技场环境作为在C#中开发AI机器人的游乐场。我在这里找到了一个很好的起点Creating NET bots for UT,但是这个网站没有很多死链接。有关此项目的视频UT3 Bots for .Net C#代码的更新版本已移至Codeplex .NET Unreal Tournament Bots。它提供了一个包含构建过程模板的文件夹和一个包含解决方案的文件夹。

我无法构建此代码。我没有使用模板的经验,并且在VS2012中加载解决方案不会构建。 VS2012将代码迁移到此版本,并在.NET版本2.0 / 3.0上发出警告,但没有错误。所以我不认为这是致命的。

如果我在VS2012中加载解决方案,我会得到解决方案映射错误:

  

无法找到解决方案的映射。 [...]活跃的   解决方案暂时与源控件断开连接,因为   服务器不可用。要尝试重新连接到源代码管理,   关闭,然后在服务器可用时重新打开解决方案。如果   如果要将此解决方案连接到其他服务器,请使用“更改”   源控制对话框。

如果我尝试构建无论如何,我会收到以下构建错误:

  

2> D:\ Essential \ Programming \ Visual C#\ Unreal tournament \ UT Remote   机器人\ UTRemoteBotSolution \ UTUserBot2004 \ RemoteUserBot.cs(189,35,189,43):   错误CS0246:类型或命名空间名称' UTVector'无法找到   (你错过了使用指令或汇编引用吗?)[...]   ==========构建:0成功,2失败,2最新,0跳过==========

所有错误似乎都指向UTUserBot2004,这是4个解决方案中的哪一个提供的。两个(UTUSerBotUTRemoteBot)针对UT 1999年度游戏,其他两个(UTUserBot2004UTRemoteBot2004)针对UT 2004.我只对此感兴趣在最初的Channel9帖子中描述的1999 GOTY版本。

我认为提供的代码很好,我认为我缺乏经验,如何让这些代码工作是问题。

任何有助于构建此代码的帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:2)

您正在使用的项目使用较旧的编译方式,在项目完成构建之后,它被复制到解决方案中另一个项目的bin文件夹中。因此,除非您的项目处于完全相同的文件夹结构(即E:\Shared Files\Shares\),否则它将无法复制到正确的位置,并且将无法使用。此外,并非所有项目都相互引用。

要更正此问题,请先转到UTRemoteBot项目的属性。在Build Events标签上,删除Post-Build Event Commands中的所有内容。接下来,右键单击UTUserBot2004项目,然后Add -> Reference...在解决方案选项卡中,检查UTRemoteBot2004项目。

此外,该项目缺少对System.Windows.Forms的引用。再次,右键单击UTRemoteBot项目,Add -> Reference...在“程序集”选项卡上的“框架”下,选中System.Windows.Forms

与源代码管理相关的消息不是问题,可以忽略,因为您没有对此项目进行更改以发布回CodePlex。