Команда dotnet publish не создает zip-файл для библиотеки C #

В решении Visual Studio у меня есть единственный проект библиотеки .net core 2.0. И для публикации библиотеки я использую команду dotnet publish -c release

введите здесь описание изображения

однако это не архивирование папки публикации. Я прочитал проблему 6598 и использую предложенный подход с использованием команды dotnet build, как показано ниже.

dotnet build ApiRouting.sln /nologo /p:PublishProfile=Release /p:PackageLocation="C:\temp\Routing\package" /p:OutDir="C:\temp\Routing\out" /p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /maxcpucount:1 /p:platform="Any CPU" /p:configuration="Release" /p:DesktopBuildPackageLocation="C:\temp\Routing\package\package.zip"

`введите здесь описание изображения

но это тоже не сработало.

Мой проект - это проект aws lambda, который является проектом библиотеки С #, а не веб-проектом asp.net, поэтому я попытался удалить параметр /p:WebPublishMethod=Package, но это тоже не сработало.

Вопросы
1> Какие параметры мне нужно передать команде publish, чтобы она создавала zip-файл папки публикации.
2> В связанном issue 6598, почему предлагается использовать команду build вместо publish когда команда build только строит проект?

(кстати, я могу использовать aws tools for visual studio и Publish to AWS Lambda, и он создает zip-файл и развертывает его в AWS непосредственно из Visual Studio. Однако мы используем Jenkins для CI, поэтому я хочу использовать dotnet cli для создания zip-файла, чтобы jenkins мог выполните эту команду и создайте zip-файл.)


person LP13    schedule 04.01.2019    source источник
comment
Вероятно, это связано с конфигурацией, поскольку я не мог воспроизвести проблему. Команда dotnet build отлично работает для меня с zip-файлами и сценариями развертывания.   -  person Derviş Kayımbaşıoğlu    schedule 05.01.2019


Ответы (1)


я нашел это. Эти 2 ссылки помогли мне https://docs.aws.amazon.com/lambda/latest/dg/lambda-dotnet-how-to-create-deployment-package.html
https://docs.aws.amazon.com/lambda/latest/dg/lambda-dotnet-coreclr-deployment-package.html

сначала установил Amazon.Lambda.Tools

dotnet tool install -g Amazon.Lambda.Tools

а затем упаковать и развернуть

dotnet lambda deploy-function apirouting –-function-role myrole --profile lambdadep --profile-location C:\test\testawsprofile

person LP13    schedule 04.01.2019