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

升级至Visual Studio 17.14.3后出现DefineStaticWebAssetEndpoints错误

解决方案:DefineStaticWebAssetEndpoints任务失败(最后写入时间未定义)

针对你遇到的Visual Studio 17.14.3 + .NET 8项目中静态文件最后写入时间未定义导致的构建错误,可尝试以下方案:

1. 锁定.NET SDK版本为8.x

在项目根目录创建global.json文件,强制项目使用.NET 8的SDK,避免VS自动调用.NET 9的工具链:

{
  "sdk": {
    "version": "8.0.403",
    "rollForward": "latestPatch"
  }
}

替换8.0.403为你本地已安装的最新.NET 8补丁版本。

2. 修复静态文件的最后写入时间

手动修复(少量文件)

找到报错的文件(如mt.svg、13.jpg等),右键文件→属性→修改时间,设置一个有效时间(如当前系统时间),保存后重新构建。

批量修复(大量文件)

使用PowerShell脚本批量处理wwwroot目录下所有无最后写入时间的文件:

Get-ChildItem -Path "C:\你的项目绝对路径\wwwroot" -Recurse | 
Where-Object { $_.LastWriteTime -eq $null } | 
ForEach-Object { $_.LastWriteTime = Get-Date }

记得替换路径为你项目的实际wwwroot路径。

3. 修正项目文件的静态资产配置

打开项目的.csproj文件,确保静态Web资产目标与.NET 8一致,移除任何指向.NET 9的配置:

<TargetFramework>net8.0</TargetFramework>
<!-- 若存在StaticWebAssetsTarget,明确指定为net8.0 -->
<StaticWebAssetsTarget>net8.0</StaticWebAssetsTarget>

4. 清理构建缓存

  • 删除项目根目录下的bin和obj文件夹
  • 关闭Visual Studio,删除%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_<你的VS实例ID>\ComponentModelCache目录(实例ID为一串随机字符,可在VS安装目录中找到)
  • 重新打开VS,执行NuGet包还原后重新构建项目

内容的提问来源于stack exchange,提问作者amir beygi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:04:55