十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

aspnetcore 仓库运行测试提示 Requested Microsoft.AspNetCore.App does not exist 怎么处理?

aspnetcore 仓库运行测试提示 Requested Microsoft.AspNetCore.App does not exist 怎么处理? aspnetcore 仓库运行测试提示 Requested Microsoft.AspNetCore.App does not exist 怎么处理【免费下载链接】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在 aspnetcore 仓库中用命令行构建或运行测试时可能会遇到这样的提示Warning: Requested Microsoft.AspNetCore.App v... does not exist出现它说明你要构建的项目或要执行的测试依赖一个刚刚由本仓库构建出来的Microsoft.AspNetCore.Appshared framework而这个 framework 还没有被构建到你本地的$(DOTNET_ROOT)目录下。解决办法就是把它构建出来。本文只覆盖这一种现象的排查路径适用环境为在 Windows、Linux、Mac 上通过命令行build.cmd/build.sh构建和测试该仓库。提示的含义与判断位置该现象在 docs/BuildErrors.md 中记为 “Warning: Requested Microsoft.AspNetCore.App v… does not exist”文档给出的原因是你尝试构建项目或执行测试而这些项目/测试需要刚构建的Microsoft.AspNetCore.Appshared framework但它尚未存在于$(DOTNET_ROOT)目录中。$(DOTNET_ROOT)指向哪里由仓库根目录的 activate 脚本决定Linux/Macactivate.sh 会把DOTNET_ROOT设为仓库根目录下的.dotnet文件夹并把它加到PATH最前面Windowsactivate.ps1 把DOTNET_ROOT设为$PSScriptRoot\.dotnet即仓库根目录下的.dotnet。所以“framework 不存在”的检查位置就是你检出的仓库根目录下的.dotnet目录。准备确认本地 .NET 环境已激活执行任何构建前当前终端必须已激活仓库本地安装的 .NET。在仓库根目录运行# Linux 或 Mac source activate.sh# Windows注意开头的点加空格 . ./activate.ps1如果 activate 脚本提示.NET Core has not been installed yet. Run .../restore.sh to install it.Windows 下对应restore.cmd说明本地 .NET 还没装好先运行./restore.sh或 Windows 下./restore.cmd完成安装再重新激活。构建缺失的 shared framework确认环境已激活后按 docs/BuildErrors.md 给出的修复命令构建Microsoft.AspNetCore.App运行时项目使 shared framework 落到$(DOTNET_ROOT)目录内# Windows .\build.cmd -projects src\Framework\App.Runtime\src\Microsoft.AspNetCore.App.Runtime.csproj# Linux 或 Mac ./build.sh --projects $PWD/src/Framework/App.Runtime/src/Microsoft.AspNetCore.App.Runtime.csproj两个说明bash 版本命令用$PWD拼出绝对路径因为顶层构建脚本的--projects参数要求绝对路径eng/build.sh 的帮助文本写明 “A list of projects to build. (Must be an absolute path.)”。按 docs/BuildFromSource.md 的构建脚本指南当前仓库的顶层构建脚本位于eng/build.cmd和eng/build.sh仓库级调用必须从仓库根目录运行。如果你检出的版本在根目录没有build.cmd/build.sh请从仓库根目录改用eng\build.cmd/eng/build.sh执行同样的-projects参数。注意仓库结构与文档示例可能存在差异当前仓库src/Framework/App.Runtime/src/目录下包含的是Microsoft.AspNetCore.App.Runtime.sfxproj、aspnetcore-runtime.proj等项目文件并没有名为Microsoft.AspNetCore.App.Runtime.csproj的文件。如果你的检出中该文档路径不存在以src/Framework/App.Runtime/下的实际内容为准不要凭空改路径。结果验证文档给出的判定标准是构建完成后Microsoft.AspNetCore.Appshared framework 必须存在于$(DOTNET_ROOT)目录内。可以这样确认在当前终端查看DOTNET_ROOT是否指向仓库根目录下的.dotnetecho $DOTNET_ROOT或 PowerShell 中查看$env:DOTNET_ROOT。如果不是说明当前 shell 没有激活回到上一步重新source activate.sh/. ./activate.ps1。重新执行之前触发该警告的构建或测试命令例如子目录中的./build.sh -test、.\build.cmd -test确认不再出现 “Requested Microsoft.AspNetCore.App v... does not exist”。排查与限制该警告只在“目标项目/测试依赖刚构建的 shared framework”这一前提下适用。文档中其他构建错误如 MSB4019、CS0006有各自的章节不要把它们的处理办法套到这里。如果构建命令本身报错先按 docs/BuildErrors.md 中对应错误码的章节处理再回来执行本文的修复命令。文档开头还提到部分问题可能由旧构建资产与新提交冲突导致建议在不同检出之间运行git clean -xddff。该命令会清理未跟踪的构建产物运行前确认仓库中没有需要保留的本地改动若因文件被锁定而失败先停止正在运行的dotnet或.NET Host进程再重试。【免费下载链接】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),仅供参考
返回列表