2013-01-22 99 views
1

我相信这是ASP.NET MVC 3解决方案的一个非常常见的场景。它有一个WEB项目和一个DAL类库。我有我的所有数据访问类库中,这是需要建立在Web项目之前。TeamCity使用多个项目构建Web解决方案ASP.NET MVC

当我在标准Visual Studio中重建我的解决方案时,我没有任何问题。但是可以说我改变了数据(例如数据库)并检查DBML(LINQ to SQL)文件和WEB项目中相应的参考文件。

我看到的是TeamCity没有清理/重建类库DLL。以下是我的解决方案配置。我如何强制TeamCity重建每个项目,因为它似乎没有这样做。我必须在本地检查bin/debug DLL,以便TeamCity成功构建。我觉得不应该如此。我是否需要为每个项目设置构建步骤...?

enter image description here

+0

你有'Copy Local'设置为True?您在Visual Studio中为Debug解决方案配置设置了哪些平台?任何CPU或x86或x64或全部?确保为每个项目检查了构建,然后在TeamCity中设置平台。另外,为什么使用Debug,这些工件用于生产或qa? –

+0

@aherrick你需要更多帮助吗? –

回答

2

我怎么能强迫TeamCity的重建每一个项目,因为它似乎并没有做这样的。

我认为最可靠的方法是在每次构建之前强制清理源代码树。 (参见:从轨道核武器攻击它。)

你可以有TeamCity的为你做这个通过启用版本控制设置Clean all files before build选项 - >结帐设置。该选项将删除整个结帐目录,并在构建之前对所有来源进行完整的干净结帐。 TeamCity 'Clean Checkout'文档有更多信息。

0

听起来像你的构建配置(在Visual Studio中)很混乱。

首先,确保您的DAL引用是项目引用,而不是文件引用。

解决这个问题的最简单方法是删除引用并重新添加引用。在添加时,确保您正在查看项目选项卡。这应该重置项目依赖关系。

为确保MVC项目取决于DAL项目,请右键单击MVC项目,然后从上下文菜单中选择Project Dependencies ...。 DAL项目应该被检查。

+0

我看到这个错误,虽然看起来像它在我的部署步骤.. CSC错误CS0006:无法找到元数据文件\\ server \ temptest \ bin \ TempTestSite.dll项目TempTestSite.WEB.WEB \ TempTestSite.WEB.csproj失败。项目 – aherrick

+0

奇怪......在部署步骤之前,bin目录是否被清除? – codeprogression

相关问题