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

升级VS 16.11.5后使用Microsoft.Build构建项目报错如何解决

ERROR C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(4693,7): The "WroteAtLeastOneFile" parameter is not supported by the "Copy" task. Verify the parameter exists on the task, and it is a gettable public instance property.

根因说明

VS 16.11.5版本更新后,自带的MSBuild对内置Copy任务新增了WroteAtLeastOneFile输出参数,配套的目标文件默认会传递该参数。你代码中引用的Microsoft.Build系列NuGet包版本低于当前系统安装的MSBuild版本,旧版本的Copy任务实现类没有对应属性,因此触发参数不支持报错。VS手动构建时调用的是自带的最新版本MSBuild组件,因此不会出现该问题。

解决方案

  • 方案一(推荐,永久解决):
    1. 升级项目中所有Microsoft.Build.*前缀的NuGet包,版本选择和VS 16.11.5匹配的16.11.x最新稳定版即可,不要使用17.x及以上版本(对应VS2022,会出现兼容性问题)
    2. 若代码中显式指定了MSBuild加载路径,将路径更新为当前VS对应的MSBuild目录:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin
    3. 构建时显式指定ToolsVersion参数为Current或16.11,避免自动加载旧版本工具集
  • 方案二(临时兼容,无需修改当前项目依赖):
    在需要被构建的目标项目的.csproj文件中,加入如下配置即可禁用该参数传递:
    <PropertyGroup>
      <CopyTaskSupportsWroteAtLeastOneFile>false</CopyTaskSupportsWroteAtLeastOneFile>
    </PropertyGroup>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:48:03