Entity framework 4 Teamcity构建因EF代码迁移而失败

Entity framework 4 Teamcity构建因EF代码迁移而失败,entity-framework-4,teamcity,entity-framework-migrations,teamcity-8.0,Entity Framework 4,Teamcity,Entity Framework Migrations,Teamcity 8.0,我的TeamCity构建失败,因为我有一个项目中有2个EF代码迁移配置 从生成日志: [12:39:58]Checking for changes [12:39:58]Collecting changes in 1 VCS root (1s) [12:40:00]Clearing temporary directory: C:\TeamCity\buildAgent2\temp\buildTmp [12:40:00]Publishing internal artifacts [12:40:00]

我的TeamCity构建失败,因为我有一个项目中有2个EF代码迁移配置

从生成日志:

[12:39:58]Checking for changes
[12:39:58]Collecting changes in 1 VCS root (1s)
[12:40:00]Clearing temporary directory: C:\TeamCity\buildAgent2\temp\buildTmp
[12:40:00]Publishing internal artifacts
[12:40:00]Checkout directory: C:\TeamCity\buildAgent2\work\1679b8b30e00ad0
[12:40:00]Updating sources: server side checkout (2s)
[12:40:03]Step 1/8: Gulp (Command Line)
[12:40:03]Step 2/8: Nuget Package Refresh (NuGet Installer) (3s)
[12:40:06]Step 3/8: Compile (MSBuild) (21s)
[12:40:27]Step 4/8: Unit Tests (NUnit) (33s)
[12:41:01]Step 5/8: Transform Files (Powershell) (2s)
[12:41:03]Step 6/8: Deployment Build on XXXXX Live (MSBuild) (25s)
[12:41:29]Step 7/8: Deploy Database (Powershell) (5s)
[12:41:34]Step 8/8: Deploy Portal.Hub (Powershell) (33s)
[12:42:08]Publishing artifacts
[12:42:08][Publishing artifacts] Collecting files to publish:     [C:\TeamCity\buildAgent2\temp\buildTmp\nuget5954880593924726328packages\nuget.xml => .teamcity/nuget]
[12:42:08][Publishing artifacts] Publishing using [WebPublisher]
[12:42:08][Publishing artifacts] Publishing using [ArtifactsCachePublisher]
[12:42:08][Publishing artifacts] Artifacts path 'C:/TeamCity/buildAgent2/temp/buildTmp/nuget5954880593924726328packages/nuget.xml' not found
[12:42:08]Reverting patched assembly versions
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Api\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Common\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Data\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Hub\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Manager\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Managers\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.SignalR\Properties\AssemblyInfo.cs
[12:42:08][Reverting patched assembly versions] Restoring C:\TeamCity\buildAgent2\work\1679b8b30e00ad0\src\Portal.Tests\Properties\AssemblyInfo.cs
[12:42:08]Publishing internal artifacts
[12:42:08][Publishing internal artifacts] Sending using WebPublisher
[12:42:08][Publishing internal artifacts] Sending using ArtifactsCachePublisher
[12:42:08]Build failure condition: There was an error reported in one of the build steps.
[12:42:08]Build failure condition cause message: ERROR: More than one migrations configuration type was found in the assembly 'Portal.Data'. Specify the name of the one to use. (show original message)
[12:42:08]Build finished
注意:唯一的红色(失败)是“Build Finished”上方的最后两行

我没有运行迁移,在team city或发布配置文件中看不到任何尝试执行迁移的步骤

我不想将配置拆分为单独的项目,我只想阻止TeamCity尝试运行它们

我的构建步骤是:

1/8一口气-最小化js文件

2/8 NuGet安装程序-更新解决方案中的NuGet引用

3/8 MSBuild-.NET 4.5 x86编译

4/8 NUnit-运行单元测试

5/8 Powershell-运行脚本以操作windows服务的app.config文件

6/8 MSBuild-使用发布配置文件部署网站

7/8 Powershell-部署数据库的脚本

8/8 Powershell-用于部署windows服务的脚本

“发布配置文件:验证连接”按钮在“连接”选项卡上正常工作,在“设置”页面上列出了多个数据库,但没有一个数据库具有连接字符串或选中了“在运行时使用此连接字符串”。其中一个旁边有一个信息标签“为了发布代码优先模型,应该使用代码优先迁移”

对于其他工作正常的项目,我们有几乎相同的构建配置


从日志中可以看出,似乎您正在尝试在步骤7-部署数据库步骤中应用EF迁移

这就是引发配置异常的地方

如果目标是阻止TeamCity运行它们,则禁用该步骤即可


希望这对您有所帮助

您能否提供有关构建步骤和发布配置文件中正在进行的操作的更多详细信息。在.csproj文件中是否有任何生成前/生成后事件。您能否从TeamCity生成日志中显示原始异常堆栈?项目文件中没有生成事件。TeamCity没有堆栈跟踪-所有构建步骤都有效,上面的内容在底部输出。我会用构建步骤的更多信息更新这个问题。你能告诉我哪个构建步骤产生了错误吗?如果所有构建步骤都成功完成,则说明某些配置不正确。您能否详细说明自定义powershell步骤?目前这有点像大海捞针——除非我能确切理解执行的是什么,否则我认为我无法为你提供任何价值。e、 g.部署windows服务是否安装并启动它?如果所有步骤都通过了,但生成配置上存在自定义故障条件,您能否显示生成该输出“错误”的生成步骤的详细输出(我假设您已显示最小细节以隐藏任何敏感细节)我已经把完整的构建日志放在这里了——我看不到任何失败。