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

本地构建正常但Team Foundation本地服务器构建.NET Standard项目报错求助

问题描述

我们一直使用本地Team Foundation服务器构建纯ASP.NET Framework 4.8.1的门户网站,近期移除原有会员系统改用Identity框架,为此添加了一个.NET Standard 2.0项目(这是解决方案中首个非Framework项目)。该项目在本地能正常构建,但在本地TF服务器构建时出现以下错误:

C:\Program Files\dotnet\sdk\2.2.110\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(208,5): Error NETSDK1004: Assets file 'c:\TF-Agents\Agent2017-002_work\1\s\System\Web.Core\obj\project.assets.json' not found. Run a NuGet package restore to generate this file.

NuGet还原步骤显示成功,但构建步骤仍触发该错误。已尝试将project.assets.json添加到解决方案,问题未解决。

排查方向
  • 确认NuGet还原覆盖范围
    检查NuGet还原步骤的配置,确保它针对整个解决方案执行还原,而非仅ASP.NET Framework项目。如果还原任务仅指定了Framework项目,会漏掉.NET Standard项目的依赖生成,导致project.assets.json缺失。可以尝试在还原步骤中明确指定解决方案文件路径,或者单独为该.NET Standard项目添加还原任务。

  • 验证TFS代理的.NET SDK版本
    错误日志显示使用的是.NET SDK 2.2.110,虽然它支持.NET Standard 2.0,但可能存在版本兼容性问题。检查TFS代理机器上的.NET SDK安装情况,确保有稳定支持.NET Standard 2.0的SDK版本(如2.1.x LTS或更高),并可通过在解决方案根目录添加global.json文件锁定SDK版本,避免代理使用不合适的版本。

  • 核对构建步骤的路径配置
    确认构建步骤的工作目录与NuGet还原的目录完全一致,避免因路径差异导致构建时找不到生成的project.assets.json。同时检查构建步骤是否正确指向解决方案或目标.NET Standard项目,排查路径拼写错误。

  • 清理TFS代理工作目录缓存
    代理工作目录可能残留旧的构建缓存文件,干扰新的依赖生成。手动清理c:\TF-Agents\Agent2017-002\_work\1\s\System\Web\Core\obj目录,再重新触发构建,确保依赖文件是全新生成的。

  • 查看NuGet还原的详细日志
    不要仅依赖步骤的“成功”状态,查看NuGet还原的完整日志,确认是否真的处理了该.NET Standard项目,是否存在包源访问失败、包版本冲突等被忽略的警告或错误——这些问题可能导致project.assets.json未正确生成。

  • 升级构建工具版本
    混合ASP.NET Framework与.NET Standard的解决方案需要较新版本的MSBuild(如Visual Studio 2019及以上版本附带的MSBuild)才能正确处理跨平台项目依赖。检查TFS代理上的MSBuild版本,确保使用的是支持.NET Standard的工具链。

内容的提问来源于stack exchange,提问作者Thierry Verhaegen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 00:23:14