发布 .net core 3.0 AWS 无服务器应用程序时出错 - 项目名称不明确 'bootstrap'。”

Error Publishing .net core 3.0 AWS Serverless Application - Ambiguous project name 'bootstrap'."

我按照

中的说明创建了一个新的 .Net Core 3.0 应用程序

https://aws.amazon.com/blogs/developer/net-core-3-0-on-lambda-with-aws-lambdas-custom-runtime/

但是,我一添加代码库项目依赖,发布就失败了:

publish: C:\Program Files\dotnet\sdk.0.100\NuGet.targets(123,5): error : Ambiguous project name 'bootstrap'

我最终意识到错误在于 aws-lambda-tools-defaults.json:

中的那一行
"msbuild-parameters": "--self-contained true /p:AssemblyName=bootstrap"

此开关将 每个 程序集重命名为 'bootstrap',这是完全没用的。解决方法是在 .csproj 文件中将程序集名称重命名为 'bootstrap' 并删除重命名开关。

有没有一种方法可以指定只重命名一个特定的程序集?

作为上述博客的作者 post 我想我应该建议在项目文件中设置 bootstrap 而不是命令行选项。命令行方式的问题就像您在有多个项目时看到的那样,命令行试图将所有项目程序集名称设置为 bootstrap.

我想我会更新博客 post 以删除 /p:AssemblyName=bootstrap 并在 csproj 文件中添加 <AssemblyName>bootstrap</AssemblyName>,例如 AWSProjectType 元素。这将解决您的问题。