Я думаю, что Run Platform
для MSBuild в TeamCity - для какой версии MSBuild использовать, он ищет MSBuild.exe в папке C:\Windows\Microsoft.NET\Framework64\v4.0.30319
, когда вы используете 32-битную версию Windows, и этофреймворк не установлен.Однако 32-разрядная версия MSBuild может вызывать компилятор C #, который по-прежнему может создавать сборки x64, даже на 32-разрядной машине.
Что вы хотите сделать, это сделать Run Platform
для x86, нопередайте /property:Platform=x64
как одну из ваших команд.Если у вас нет конфигурации x64, вы можете попытаться передать ее /property:Platform="Any CPU"
.Тем не менее, любой ЦП будет гарантированно работать, только если для всех сборок, на которые вы ссылаетесь в своем проекте, установлен также Любой ЦП.В качестве альтернативы вы можете создать пользовательскую конфигурацию, в которой все ваши сборки указаны как x64, и передать ее через командную строку в MSBuild.
Имейте в виду, что если какой-либо из ваших проектов является C ++, вам необходимо убедиться, чтоКомпиляторы x64 установлены, так как я не думаю, что они установлены по умолчанию.