Команда публикации dotnet не создает zip-файл для библиотеки C # - PullRequest
0 голосов
/ 05 января 2019

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

enter image description here

однако это не архивирование папки публикации. Я прочитал выпуск 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"

`enter image description here

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

Мой проект - aws lambda проект, который является проектом библиотеки C #, а не веб-проектом 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-файл.)

1 Ответ

0 голосов
/ 05 января 2019

я нашел это. Эти 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

...