dotnet lambda 包(通过扩展,这可以适用于任何其他在后台运行dotnet publish
dotnet-lambda 命令)可以从--no-restore
选项中受益,该选项将传递给dotnet publish
命令。
从 2.0 开始, build
和publish
命令隐式运行restore
,因此 dotnet 团队添加了一个 -- no-restore
标志,用于您不想要隐式还原。 对于我们从内部 Nuget 存储库恢复并且需要在构建时控制包源的 CI 场景,这是一个非常重要的功能。 此场景中的典型 CI 构建如下所示:
dotnet restore -s https://private-nuget-repository.myorg.com
dotnet lambda package --no-restore
使用Amazon.Lambda.Tools
的 2.1.0 版本,您可以使用--msbuild-parameters
开关将参数传递给dotnet publish
命令。 所以你可以运行
dotnet lambda package --msbuild-parameters "--no-restore"
@normj感谢您提供信息! 这实际上在任何地方都有记录吗? 因为我确实尝试寻找可用的不同选项,但我在 CLI 帮助或此存储库的自述文件中没有找到任何内容 - 所以我很想知道我是否完全错过了某些东西,或者这是一个改进的机会文档。
这是最近为另一个 GitHub 问题完成的。 https://github.com/aws/aws-lambda-dotnet/issues/210
如果你做dotnet lambda help package
你可以看到开关
> dotnet lambda help package
AWS Lambda Tools for .NET Core functions (2.1.1)
Project Home: https://github.com/aws/aws-lambda-dotnet
package:
Command to package a Lambda project into a zip file ready for deployment
dotnet lambda package [arguments] [options]
Arguments:
<ZIP-FILE> The name of the zip file to package the project into
Options:
-pl | --project-location The location of the project, if not set the current directory will be assumed
-c | --configuration Configuration to build with, for example Release or Debug (Default Value: Release)
-f | --framework Target framework to compile, for example netcoreapp2.0 (Default Value: netcoreapp2.0)
--msbuild-parameters Additional msbuild parameters passed to the 'dotnet publish' command
-o | --output-package The output zip file name
-dvc | --disable-version-check Disable the .NET Core version check. Only for advanced usage.
C:\temp\NoPublish\src\NoPublish
>
诚然,添加它是为了传递 msbuild 参数,但--no-restore
开关也能工作。 也许我应该给它起个不同的名字。
要遵循的另一件事是RELEASE.CHANGELOG.md ,您可以在上周发布的版本中看到,当时引入了开关。
@normj啊,你是
应该更新文档以指定构建参数参数的构造方式。 我没有在我的周围加上引号,也不知道为什么它失败了。 AWS 网站上没有 doco,并且不确定工具帮助。 解决方案在这里找到。
关于提醒人们引用价值的好呼吁。
最有用的评论
使用
Amazon.Lambda.Tools
的 2.1.0 版本,您可以使用--msbuild-parameters
开关将参数传递给dotnet publish
命令。 所以你可以运行