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

.NET项目中如何将构建文件复制到含通用用户路径的指定目录?

替换CSPROJ构建后事件中的特定用户路径为通用路径

当然可以,你可以用MSBuild内置的环境变量替换硬编码的特定用户名,让路径适配任意Windows用户。

Windows系统中,每个用户的个人目录可通过%USERPROFILE%环境变量访问,对应MSBuild脚本里的变量是$(UserProfile)。直接用这个变量替换路径里的C:\Users\axeman部分即可。

修改后的Target代码如下:

<Target Name="CopyDLLs" AfterTargets="Build">
    <Message Text="Executing CopyDLLs of $(ProjectName) task" Importance="High" />

    <Copy
      SourceFiles="$(TargetDir)$(ProjectName).dll;$(TargetDir)$(ProjectName).pdb;$(TargetDir)$(ProjectName).deps.json"
      DestinationFolder="$(UserProfile)\AppData\Local\MyApp\UserTiles\Dev" />

    <Message Text="Copied build files" Importance="High" />
</Target>

这样无论哪个用户编译项目,都会自动将文件复制到当前用户的对应目录下,无需手动修改用户名。

额外优化:如果你直接要定位到AppData\Local,可以用MSBuild的$(LocalAppData)变量,它直接指向当前用户的C:\Users\[用户名]\AppData\Local路径,路径写法会更简洁:

DestinationFolder="$(LocalAppData)\MyApp\UserTiles\Dev"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:55:13