Я пытаюсь создать и развернуть веб-API ASP.NET Core 2.0.3 через TFS.
В Visual Studio я настроил Release для платформы x86. Я также обеспечил следующее в csproj:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<Platforms>x86</Platforms>
</PropertyGroup>
Сборка локально производит ожидаемый результат в папке bin \ x86 \ Debug \ netcoreapp2.0
В TFS у меня есть новая конфигурация сборки .NET CORE с задачами восстановления / сборки / публикации. Я заметил, что они не используют стандартную переменную сборки BuildPlatform, которую я изменил с Any Cpu на x86.
Build: --configuration $(BuildConfiguration)
Publish: --configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)
Они используют только BuildConfiguration, то есть Debug или Release. Это приводит к созданию библиотеки DLL Any CPU, которая будет работать как x64 на сервере выпуска.
Я пробовал добавить -r win7-x86 в команду публикации, но это привело к публикации автономного развертывания, чего я не хочу.
Я пробовал добавить -r win7-x86 к команде сборки, что приводит к созданию правильной dll, но команда публикации выполняет собственную неявную сборку и не использует выходные данные предыдущей задачи сборки.
Как я могу заставить TFS публиковать x86 DLL (зависит от платформы) для веб-приложения?
Какую версию TFS вы используете? — person Daniel Revell schedule 19.12.2017
