如何针对Azure Function项目运行Live Unit Test?构建失败求助
解决Azure Function App Live Unit Test构建失败(Microsoft.Bcl.AsyncInterfaces加载失败)的问题
针对你遇到的Live Unit Test首次构建成功、修改代码后失败,且日志提示无法加载Microsoft.Bcl.AsyncInterfaces、无法生成Azure Functions元数据的问题,可尝试以下方案:
统一程序集版本
确保Function App项目和测试项目中Microsoft.Bcl.AsyncInterfaces的NuGet包版本完全一致:- 打开解决方案的NuGet包管理器,选中所有项目,统一安装相同版本的该包;
- 也可以直接编辑两个项目的
.csproj文件,确认PackageReference的版本号一致,示例:<PackageReference Include="Microsoft.Bcl.AsyncInterfaces" Version="7.0.0" />
调整Live Unit Test构建配置
- 打开Visual Studio的工具 > 选项 > Live Unit测试 > 生成,勾选使用与活动解决方案配置相同的生成配置,保证Live Unit Test和手动构建用的是同一套配置;
- 关闭启用增量生成选项,强制Live Unit Test每次执行完整构建,避免增量构建带来的元数据异常。
清理Live Unit Test缓存
关闭Visual Studio后,删除以下目录的缓存文件,再重新打开解决方案启用Live Unit Test:%USERPROFILE%\AppData\Local\Temp\VisualStudioTestExplorerExtensions%USERPROFILE%\AppData\Local\Microsoft\VisualStudio\<你的VS版本号>\ComponentModelCache
修改Azure Functions元数据生成设置
在Function App项目的.csproj文件中添加以下配置,跳过构建时的元数据生成(调试时可按需保留):<PropertyGroup> <GenerateFunctionsMetadataAtBuild>false</GenerateFunctionsMetadataAtBuild> <GenerateFunctionsMetadataDuringDebug>false</GenerateFunctionsMetadataDuringDebug> </PropertyGroup>更新开发工具
把Visual Studio升级到最新版本(2022建议17.7及以上),同时更新Azure Functions工具扩展(在扩展管理器中搜索Azure Functions and Web Jobs Tools并更新)。
内容的提问来源于stack exchange,提问作者Daryl
相关产品推荐
相关产品推荐

