Я пытаюсь запустить тест MSpec после сборки моего решения. Итак, мой сценарий MSBuild настроен следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
<MSBuild Projects="../MyApplication.Web.sln" />
<Message Text="Building solution" Importance="high" />
</Target>
<Target Name="TeamCity" DependsOnTargets="Build">
<Message Text="Before executing MSpec command" Importance="high" />
<Exec Command="mspec.exe ..\Hosts\MyApplication.Hosts.Web.Specs\bin\MyApplication.Hosts.Web.Specs.dll --teamcity" />
<Message Text="Running MSpec" Importance="high" />
</Target>
</Project>
Затем я называю TeamCity своей целью в TeamCity. Когда команда
"mspec.exe .. \ Hosts \ MyApplication.Hosts.Web.Specs \ bin \ MyApplication.Hosts.Web.Specs.dll --teamcity"
выполняется, я получаю следующую ошибку:
C: \ TeamCity \ buildAgent \ work \ 117e3aa3bb76aad0 \ Build> mspec .. \ Hosts \ Application.Hos ts.Web.Specs \ bin \ Application.Hosts.Web.Specs.dll Не удалось загрузить файл или сборку 'file: // / C: \ TeamCity \ buildAgent \ work \ 117e3aa3bb7 6aad0 \ Hosts \ Application.Hosts.Web.Specs \ bin \ Application.Hosts.Web.Specs.dll 'или его зависимости. Была сделана попытка загрузить программу с неверным форматом.
Проведя небольшое расследование, я обнаружил, что «MyApplication.Hosts.Web.Specs.dll» на моем локальном компьютере и на сервере сборки, хотя оба 15 КБ, имеют разные контрольные суммы md5. Это может объяснить, почему выполнение теста MSpec вызывает ошибки. Фактически, если я скопирую dll со своего локального компьютера на сервер сборки, тест будет запущен.
Итак, мой вопрос: сталкивался ли кто-нибудь еще с этой же проблемой сборки сборок, которые собираются «плохо»?
-EDIT- Локально я создаю решение как 64-битное приложение, но в TeamCity я создаю его как 32-битное (x86). Может ли это быть проблема?
PS: Я попытался создать его как 64-битное приложение в TeamCity, но у меня появились другие ошибки, которые я предпочел бы пока игнорировать. Однако для полноты картины вот оно:
Client\ProdMaster.SLCharts\ProdMaster.SLCharts.csproj
[15:11:22]: [Client\ProdMaster.SLCharts\ProdMaster.SLCharts.csproj] GetFrameworkPaths
[15:11:22]: [GetFrameworkPaths] ValidateSilverlightFrameworkPaths
[15:11:22]: [ValidateSilverlightFrameworkPaths] C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight.Common.targets(104, 9): The Silverlight 4 SDK is not installed.