Я использую MSBUILD для создания решения, которое содержит только проект веб-приложения ASP.NET. Это точная линия, которую я использовал, чтобы сделать это,
msbuild webapp.sln /p:Configuration = "Release" /p:DeployOnBuild=true
Теперь это создает zip-файл, содержащий файлы веб-пакета, но все они содержатся в очень длинной структуре папок. Теперь немного контекста. У меня есть служба приложений в Azure, в которой я публиковал свой проект с помощью функции «Опубликовать» в Visual Studio 2019. Это опубликовало файлы в папке «wwwroot/Files» в Azure. Теперь проблема заключается в том, что когда этот zip-файл развертывается в моей службе приложений в Azure, моя папка «wwwroot/Files» теперь содержит следующую структуру папок:
\Content\C_C\Source Control Root\Version\Type\Workspace\Solution\Project\obj\Release\Package\PackageTmp\
В основном то, что публиковалось из Visual Studio 2019 в «wwwroot/Files», теперь публикуется в «wwwroot/Files/Content/C_C/Source Control Root/Version/Type/Workspace/Solution/Project/obj/Release/Package. /PackageTmp/".
Я хочу иметь возможность имитировать то, что было сделано раньше, с помощью функции «Опубликовать» в VS 2019, создав zip-файл файлов веб-пакетов без вложения в очень длинную структуру папок. Можно ли этого добиться? Если да, то как это сделать?
PS Я использую следующий сценарий Powershell для развертывания zip-файла в Azure,
Publish-AzWebapp -ResourceGroupName $resgroup -Name $name -ArchivePath "C:/SomewhereLocal~\WebhookBot.zip"
Вам может понадобиться Развернуть приложение в службе приложений Azure с помощью файла ZIP или WAR.
Во-первых, выберите публикацию как папку в VS.
Нажмите «Опубликовать», чтобы создать папку с файлом публикации, как показано ниже. Я сжал содержимое и назвал его MyWebApp.zip
, которое мы будем использовать для развертывания в службе приложений Azure позже.
Следуйте документации о развертывании из ZIP-файла.
Проверьте содержимое файла в wwwroot: