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

GitHub Actions无法构建ASP.NET Core项目依赖的类库

解决GitHub Actions构建ASP.NET Core项目时找不到子模块类库的问题

问题分析

从构建日志和子模块拉取日志能明确路径不匹配:

  • 构建时尝试查找的类库路径:D:\a\MedbaseWebApi\MedbaseLibrary\MedbaseLibrary.csproj
  • 子模块实际被检出的路径:D:/a/MedbaseWebApi/MedbaseWebApi/MedbaseLibrary

核心问题是:类库被检出到仓库根目录(MedbaseWebApi文件夹)下的MedbaseLibrary,但解决方案中引用的路径指向了仓库根目录的上级目录,导致构建时找不到项目文件。

解决方案

1. 修正解决方案中的类库引用路径

打开本地的MedbaseApi.sln文件,找到类库项目的引用条目,将路径从相对上级目录的格式(比如../MedbaseLibrary/MedbaseLibrary.csproj)修改为相对解决方案所在目录的格式:

Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MedbaseLibrary", "./MedbaseLibrary/MedbaseLibrary.csproj", "{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"
EndProject

保存修改后提交到GitHub仓库。

2. 验证子模块配置

检查仓库根目录下的.gitmodules文件,确保子模块的path配置为仓库根目录下的MedbaseLibrary:

[submodule "MedbaseLibrary"]
	path = MedbaseLibrary
	url = https://github.com/tanakamawere/MedbaseLibrary

如果路径配置错误,修改后执行git submodule sync和git submodule update,再提交.gitmodules文件。

3. 可选:明确指定构建的解决方案路径

在GitHub Actions的构建步骤中,明确指定解决方案文件的路径,避免工作目录导致的路径问题:

- name: Build with dotnet
  run: dotnet build MedbaseApi.sln --configuration Release

(如果解决方案不在工作根目录,需调整为对应相对路径,比如./MedbaseWebApi/MedbaseApi.sln)

验证

重新触发GitHub Actions构建,确认构建日志中不再出现MSB3202错误,类库项目能被正常找到并构建。

内容的提问来源于stack exchange,提问作者Tanaka Mawere

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:30:22