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

Visual Studio/NuGet文件存放路径错误,引发源代码控制报错求助

问题原因与解决方案

一、报错原因解析

  • NLog.xsd报错:NLog.Schema包的XSD文件默认存放在本地NuGet缓存目录(你的情况是用户目录同步到OneDrive,所以缓存路径落在OneDrive下),而项目处于TFS管控的F盘工作区内。VS会自动关联该XSD提供智能提示,但TFS仅能管理工作区内的文件,尝试将外部路径的XSD纳入源代码控制时就会触发报错。
  • ProjectName.csproj.vspscc报错:这个文件是TFS用于绑定项目与源代码控制的元文件,正常由VS自动生成在项目根目录。出现报错大概率是项目绑定TFS时的小异常,导致文件未被正确纳入源代码控制。

二、具体解决步骤

1. 处理NLog.xsd的智能提示与报错

不需要手动移动NuGet缓存里的XSD文件,推荐两种更稳妥的方法:

  • 方法一:添加XSD为项目链接
    • 右键项目 → 「添加」→ 「现有项」,找到NuGet缓存里的NLog.xsd(路径示例:C:\Users\[你的用户名]\OneDrive\.nuget\packages\nlog.schema\5.2.4\content\nlog.xsd)。
    • 点击「添加」按钮旁的下拉箭头,选择「添加为链接」,不要直接复制文件到项目目录。
    • 右键添加后的链接文件 → 「属性」,设置生成操作为None,复制到输出目录为「不复制」。
      这样既保留了智能提示,TFS也只会管控项目内的链接引用,不会处理外部的原始文件。
  • 方法二:在线引用XSD(更简便)
    打开nlog.config文件,在XML声明行下方添加一行代码:
    <?xml-model href="https://nlog-project.org/schemas/NLog.xsd" schematypens="http://purl.oclc.org/dsdl/schematron"?>
    
    VS会自动在线加载XSD提供智能提示,完全不需要本地XSD文件,从根源规避路径问题。

2. 处理ProjectName.csproj.vspscc文件

  • 先检查文件位置:
    • 如果文件不在项目根目录,直接删除该无效文件即可。
    • 如果文件在项目根目录,右键文件 → 「源代码控制」→ 「加入源代码控制」,之后提交到TFS即可。这个文件是TFS绑定项目必需的元文件,属于项目的一部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:52:43