dotnet publish命令未为C#库创建zip文件

时间:2019-01-04 22:52:00

标签: .net-core asp.net-core-2.1 .net-core-2.0 coreclr

在Visual Studio解决方案中,我有一个.net core 2.0库项目。并使用dotnet publish -c release命令

发布该库

enter image description here

但是它没有压缩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"

`enter image description here

但是那也不起作用。

我的项目是aws lambda项目,它是C#库项目,而不是asp.net Web项目,因此我尝试删除了/p:WebPublishMethod=Package选项,但该方法也不起作用。

问题
1>我需要将什么参数传递给publish命令,以便创建发布文件夹的zip文件。
2>在链接的issue 6598中,为什么当build命令仅生成项目时,为什么建议使用build而不是publish

(在旁注中,我可以使用aws tools for visual studioPublish to AWS Lambda,它会创建zip文件并将其直接从Visual Studio部署到AWS。但是,我们使用Jenkins for CI,因此我想要使用dotnet cli创建zip文件,以便jenkins可以执行该命令并创建zip文件。)

1 个答案:

答案 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