在Visual Studio解决方案中,我有一个.net core 2.0
库项目。并使用dotnet publish -c release
命令
但是它没有压缩publish文件夹。我已阅读issue 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
项目,它是C#库项目,而不是asp.net Web项目,因此我尝试删除了/p:WebPublishMethod=Package
选项,但该方法也不起作用。
问题
1>我需要将什么参数传递给publish
命令,以便创建发布文件夹的zip文件。
2>在链接的issue 6598
中,为什么当build命令仅生成项目时,为什么建议使用build
而不是publish
?
(在旁注中,我可以使用aws tools for visual studio
和Publish to AWS Lambda
,它会创建zip文件并将其直接从Visual Studio部署到AWS。但是,我们使用Jenkins for CI,因此我想要使用dotnet
cli创建zip文件,以便jenkins可以执行该命令并创建zip文件。)
答案 0 :(得分:0)
我找到了。这两个链接对我有帮助
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