You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何避免单元测试项目随ASP.NET Core站点部署到Azure Web App

问题根因

你当前的GitHub Actions配置中,dotnet build和dotnet publish命令都是直接针对整个解决方案执行的,所以会自动构建、发布解决方案下的所有项目,包括你新增的单元测试项目。

解决方案,二选一即可

方案1:指定Web项目单独构建发布

修改workflow配置文件里的构建和发布命令,直接指定你的Web项目的.csproj文件路径,替换原来的全解决方案执行逻辑。
比如你的Web项目存放在仓库的src/MyWebApp/MyWebApp.csproj路径,就把对应步骤修改为:

- name: Build with dotnet
  run: dotnet build src/MyWebApp/MyWebApp.csproj --configuration Release

- name: dotnet publish
  run: dotnet publish src/MyWebApp/MyWebApp.csproj -c Release -o ${{env.DOTNET_ROOT}}/myapp

修改后构建发布流程只会处理你指定的Web项目,不会涉及单元测试项目。

方案2:给测试项目标记为不可发布

如果不想改workflow配置,可以直接修改所有单元测试项目的.csproj文件,在根PropertyGroup节点下添加IsPublishable属性:

<PropertyGroup>
  <!-- 其他原有配置 -->
  <IsPublishable>False</IsPublishable>
</PropertyGroup>

添加后就算执行全解决方案的dotnet publish命令,也会自动跳过这些标记了的测试项目,不会将其打包到发布产物中。

可选优化

如果后续需要在CI流程中自动跑单元测试(测试不通过就终止部署,避免问题代码上线),可以在build和publish步骤之间添加测试步骤:

- name: Run unit tests
  run: dotnet test test/MyUnitTestProject/MyUnitTestProject.csproj --configuration Release

内容的提问来源于stack exchange,提问作者Gary McGill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:45:04