尧图精选

如何在 Linux/Mac 上用 VS Code 打开并构建、测试 aspnetcore 的单个子项目

🕒 发布时间:2026/9/11 4:58:39 📁 来源:尧图网络
如何在 Linux/Mac 上用 VS Code 打开并构建、测试 aspnetcore 的单个子项目【免费下载链接】aspnetcoreASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.项目地址: https://gitcode.com/GitHub_Trending/as/aspnetcore如果你要在 Linux 或 Mac 上修改 aspnetcore 仓库中某一个子项目例如src/Http的代码并通过构建、测试来验证自己的改动用 VS Code 加终端就可以完成。仓库规模很大官方文档明确建议构建单个子项目而不是构建整棵代码树。整体路径是用restore.sh恢复依赖、激活本地安装的 .NET SDK、在子项目目录里用code .打开它然后运行该子项目目录下的build.sh来构建和测试。准备工作按 docs/BuildFromSource.md 的说明开始前需要以下条件git、curl 或 wget、tar用于下载和解压安装文件macOS 与 Linux 默认自带 tarNode.js仓库包含 JavaScript 依赖需要至少当前 Node.js LTS 版本已安装 VS Code并且能在命令行中执行code。如果使用其他编辑器把下文命令中的code换成对应编辑器的启动命令即可。先把仓库克隆到本地。仓库包含子模块克隆时必须带--recursive参数git clone --recursive 你的fork的克隆地址你的fork的克隆地址需要替换为你自己创建的 fork 的克隆地址。如果已经克隆过但没有带--recursive随时可以单独拉取子模块git submodule update --init --recursive.NET SDK 不需要手动安装构建使用预览版本的 .NET SDK由restore脚本自动安装到仓库内的.dotnet目录。恢复依赖并激活本地 .NET SDK在仓库根目录运行恢复脚本安装所需的 .NET 依赖./restore.shrestore.sh实际执行的是eng/build.sh --all --restore --no-build即只恢复、不构建。restore完成后激活本地安装的 .NETsource activate.sh注意activate.sh必须用source方式调用直接执行./activate.sh会报错退出。它会把DOTNET_ROOT指向仓库根/.dotnet并放到PATH最前面。这个改动只对当前终端会话有效新开终端后要重新source activate.sh运行deactivate可以退出该环境。判断依据如果终端提示.NET Core has not been installed yet. Run .../restore.sh to install it.说明 SDK 尚未安装先执行./restore.sh激活成功时脚本会输出dotnet 仓库根/.dotnet/dotnet路径以你本地的仓库根目录为准。用 VS Code 打开目标子项目激活 SDK 后进入要修改的子项目目录并打开它。以src/Http为例cd src/Http code .仓库src下每个一级目录都是一个独立的项目区域如src/Mvc、src/Hosting、src/Components各自带有build.sh、startvscode.sh等脚本。也可以用子项目目录自带的startvscode.sh它会先设置DOTNET_ROOT和PATH再启动codecd src/Http ./startvscode.sh构建和测试子项目在已执行source activate.sh的终端里于子项目目录运行该目录下的build.sh# 构建 ./build.sh # 构建并运行当前项目的所有单元测试 ./build.sh -test本地的build.sh只处理当前目录下的项目——例如 src/Http/build.sh 实际调用eng/build.sh --projects $DIR/**/*.*proj即只构建src/Http目录内的项目文件。要构建整棵代码树才需要用eng目录下的build.sh但文档不建议这样用很少需要构建整个仓库构建子项目通常就够用了。也可以在激活本地 SDK 后配合具体项目文件使用dotnet build和dotnet test命令source activate.sh dotnet build dotnet test --filter MySpecificUnitTestbuild.sh脚本常用的参数见 docs/BuildFromSource.md属性说明ConfigurationDebug或Release默认DebugTargetArchitecture要构建的 CPU 架构x64、x86、arm、arm64TargetOsName基础运行时标识符win、linux、osx、linux-musl常见问题与排查以下内容见 docs/BuildErrors.md。error MSB4019: The imported project ...artifacts/bin/GenerateFiles/Directory.Build.props was not found通常是还没生成仓库所需的文件就想直接用dotnet构建。先执行一次./build.sh或只生成不构建的./build.sh --no-build-managed。旧构建产物导致的报错文档建议在切换检出之间运行git clean -xddff。该命令会删除仓库中未跟踪的文件和目录包括构建产物如果因文件被锁定而失败先停止正在运行的dotnet或.NET Host进程再重试。较旧的克隆恢复报错如果克隆仓库的时间较早尝试删除本地仓库中的.dotnet和.tools目录再重新执行 restore可能是旧版 SDK 与最新版本不兼容。这会移除本地已安装的 SDK 和工具链后续恢复时重新下载。Requested Microsoft.AspNetCore.App v... does not exist项目依赖刚构建出的共享框架但本地不存在时先构建src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj。可选依赖Selenium/Playwright/Chrome 只用于 ComponentsBlazor集成测试和 ProjectTemplates 模板测试JDKv11 或更新只用于构建 Java 版 SignalR 客户端Wix 只用于 Windows 安装器项目。构建src/Http这类单个子项目不需要它们。改动完成后回到子项目目录重新执行./build.sh -test即可验证构建与测试结果遇到构建错误时按错误信息对照 docs/BuildErrors.md 中的条目处理。【免费下载链接】aspnetcoreASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.项目地址: https://gitcode.com/GitHub_Trending/as/aspnetcore创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →