2011-04-05 61 views
0

我正在尝试设置TeamCity。最初,我遇到了各种问题,但经过多次反复试验,我成功完成了构建。所以我知道我可以获得我的解决方案的减少版本以成功构建。使用TeamCity构建MSpec测试

但是,有问题的项目之一是我的MSpec测试。当我配置我的解决方案来构建MSpec测试项目中,我得到以下埃罗:

区\生产\ \控制器DashboardControllerSpecs.cs(7,30):错误CS0234:类型或命名空间名称“主机”呢在命名空间中不存在“CompanyName.ApplicationName”(是否缺少程序集引用?)

事实是,它建立在我的本地计算机上,但在构建服务器,这恰好是对“精”我本地机器,我得到上面的错误。

我会做什么错?我应该检查什么以查明我做错了什么?

回答

0

好吧,

我想我已经找到了我做错了什么。实际上,我们正在MSBuild文件中进行版本编号。目标名称被指定为“BeforeBuild”。为了让TeamCity建立这个,我最终将其改为“Build”。最终的结果是,如果没有Spec项目,TeamCity会构建这样的罚款,但在Spec项目包含在构建中时遇到问题。

我甚至不知道为什么会发生这种情况。但是,解决方案是删除MSBuild文件中的部分,并让TeamCity管理版本编号。

+0

很高兴你终于找到它了!我完全不知所措,因为你可能已经注意到了:)如果你是这样解决它的话,你可能需要将自己的答案标记为正确答案。它将使人们更容易在未来找到合适的解决方案。 – 2011-04-07 11:10:35

+0

@Sergi - 我毫不犹豫地将其标记为我的答案。我知道这可能会有所帮助,但我们的设置非常特别。但是,当我被允许时,我会标记它:)。现在我遇到了另一个问题,您的帮助将不胜感激。 http://stackoverflow.com/questions/5578031/unable-to-run-mspec-test-due-to-the-fact-that-teamcity-is-building-test-assembly – DavidS 2011-04-07 11:26:24

+0

我看过你的其他问题,我恐怕我甚至不知道从哪里开始:( – 2011-04-07 11:42:38

0

最明显的一个当然是,你是bin部署(将Copy to Local选项设置为true)所有不在GAC上的引用程序集?
您可能要特别检查Machine.Specifications dll设置为Copy to Local

Hosts应用中的类型或名称空间吗?不管怎样,这不是Mspec的一部分,我刚刚查过。

+0

@Sergi Papaseit,“主机”是名称空间中的一个文件夹,并且“复制到本地”选项设置为true – DavidS 2011-04-05 14:31:08

+0

@David - Mhm ..是否在“构建服务器”上正确创建了文件夹结构?我的意思是,'Hosts'文件夹是否出现在部署文件夹中的磁盘上? – 2011-04-05 14:38:09

+0

@Sergi Papaseit - 由于我是Teamcity的新手,如果出现在部署文件夹中的磁盘上,那么您的意思是在“../TeamCity/buildAgent/work”文件夹下(我使用默认选项设置了TeamCity),然后是文件夹结构出现在磁盘上。但是,我看不到任何“部署”文件夹。那可能是哪里? – DavidS 2011-04-05 15:00:04

相关问题