与TeamCity一起构建MSpec测试

与TeamCity一起构建MSpec测试,teamcity,mspec,Teamcity,Mspec,我正在尝试建立TeamCity。最初,我遇到了各种问题,但经过多次尝试和错误,我成功地完成了构建。因此,我知道我可以获得解决方案的精简版本以成功构建 然而,其中一个有问题的项目是我的MSpec测试。当我将解决方案配置为构建MSpec测试项目时,我遇到以下错误: Areas\Manufacturing\Controllers\DashboardControllerSpec.cs(7,30):错误CS0234:命名空间“CompanyName.ApplicationName”中不存在类型或命名空间名

我正在尝试建立TeamCity。最初,我遇到了各种问题,但经过多次尝试和错误,我成功地完成了构建。因此,我知道我可以获得解决方案的精简版本以成功构建

然而,其中一个有问题的项目是我的MSpec测试。当我将解决方案配置为构建MSpec测试项目时,我遇到以下错误:

Areas\Manufacturing\Controllers\DashboardControllerSpec.cs(7,30):错误CS0234:命名空间“CompanyName.ApplicationName”中不存在类型或命名空间名称“Hosts”(是否缺少程序集引用?)

事实上,它在我的本地机器上构建的“很好”,但在构建服务器上(恰好在我的本地机器上),我得到了上面的错误


我可能做错了什么?我应该检查哪些内容来找出我做错了什么?

最明显的一点是,您是否正在部署(将
复制到本地
选项设置为
true
)所有不在
GAC
上的引用程序集?
您可能需要特别检查
Machine.Specifications
dll是否设置为
Copy to Local

Hosts
是应用程序中的类型还是命名空间?无论如何,它都不是Mspec的一部分,我刚刚检查过。

好的

我想我已经发现我做错了什么。实际上,我们在MSBuild文件中进行版本编号。目标名称被指定为“BeforeBuild”。为了让TeamCity构建这个,我最终将它改为“构建”。最终的结果是,如果没有Spec项目,TeamCity可以构建这么好的项目,但是当Spec项目包含在构建中时,它遇到了麻烦


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

@Sergi Papaseit,“Hosts”是命名空间中的文件夹,而“复制到本地”选项设置为true@David-嗯。。文件夹结构是否在“生成服务器”上正确创建?我的意思是,
Hosts
文件夹是否显示在deploymed文件夹中的磁盘上?@Sergi Papaseit-因为我对Teamcity不熟悉,如果出现在deployment文件夹中的磁盘上,您的意思是在“./Teamcity/buildAgent/work”文件夹下(我已使用默认选项设置Teamcity),那么文件夹结构将显示在磁盘上。但是,我看不到任何“部署”文件夹。那可能在哪里?@David,“../work”文件夹就是我的意思,对不起;我只是指TeamCity用于启动构建的文件夹结构。没有“specs”项目,一切都正常吗?@Sergi Papaseit-是的,没有specs项目,构建是成功的。很高兴你终于找到了它!正如你可能注意到的那样,我完全不知所措:)如果这就是你解决问题的方法,你可能想把你自己的答案标记为正确答案。它将使人们在未来更容易找到正确的解决方案。@Sergi-我不愿意把它记下来作为我的答案。我知道这可能会有帮助,但我想说的是,我们的设置非常特殊。但是,是的,当我被允许这样做时,我会标记它:)。现在我遇到了另一个问题,非常感谢您的帮助。我已经看了你的另一个问题,恐怕我甚至不知道从哪里开始:(@Sergi-是的,似乎出于某种原因,我设法进入了这些奇怪的情况,似乎没有其他人处于同样的情况。:S.我想我可能不得不放弃TeamCity,尽管我真的不想。