Я пытаюсь запустить тест 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 'или
е его зависимости. Предпринята попытка загрузить программу с неверным
Ormat.
Проведя некоторое исследование, я обнаружил, что «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.