Я пытаюсь создать и развернуть веб-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
Источник: