Visual Studio中AWS Toolkit发布ASP.NET Core API至Beanstalk遇超时及项目文件名异常
解决AWS Toolkit for Visual Studio发布ASP.NET Core Web API到Elastic Beanstalk时的Timeout及Lambda Tester异常问题
解决办法
- 排除Lambda测试配置干扰:异常源于Lambda Tester配置,但你是发布到Elastic Beanstalk,无需Lambda测试组件。检查项目是否引入了
Amazon.Lambda.TestUtilities等Lambda相关NuGet包或测试文件,移除不必要的Lambda测试配置项。 - 修复项目文件路径识别问题:
- 右键项目 → 选择卸载项目,编辑
.csproj文件,确认根节点的Sdk属性正确,ASP.NET Core项目应为<Project Sdk="Microsoft.NET.Sdk.Web">。 - 检查项目文件中是否存在
<RootNamespace>或<AssemblyName>配置缺失的情况,确保项目名称和文件路径无特殊字符、空格,路径层级清晰。
- 右键项目 → 选择卸载项目,编辑
- 调高发布超时阈值:
打开Visual Studio的工具 → 选项 → AWS Toolkit,找到发布超时设置,将默认超时(通常300秒)调整为600秒以上,适配Elastic Beanstalk环境部署的耗时。 - 清理重建项目:
执行命令行清理构建:
同时删除项目目录下的dotnet clean dotnet build -c Release.vs、bin、obj文件夹,重启Visual Studio后再尝试发布。 - 改用AWS CLI发布:若Toolkit问题未解决,可绕过Toolkit直接用CLI完成发布:
- 打包项目:
dotnet publish -c Release -o ./publish - 初始化Elastic Beanstalk应用(首次操作):
eb init - 部署到环境:
eb deploy
- 打包项目:
是否为已知问题
该System.Exception: Unable to determine project FileName异常是AWS Toolkit for Visual Studio的已知兼容性问题,主要发生在ASP.NET Core项目中同时存在Lambda测试组件时,Toolkit会错误地将Elastic Beanstalk发布流程与Lambda测试配置混淆,导致项目路径识别失败。AWS在Toolkit 1.25.0及后续版本中修复了部分类似的项目识别问题,建议将Toolkit更新至最新版本后重试。
内容的提问来源于stack exchange,提问作者Brandon Minnick
相关产品推荐
相关产品推荐

