目前我正在尝试将文件复制到用户个人资料中的某个位置,但遇到了声明动态个人资料名称的问题,例如:
<Target Name="CopyScript">
<MsBuild Projects="JsProject.csproj" />
<Copy SourceFiles="$(ProjectDir)\myScript.js" DestinationFolder="$(systemdrive)\Documents and Settings\$(userProfileName)" />
</Target>
声明动态用户个人资料名称的语法是什么?我是否必须从某个地方获取配置文件名称,或者是否有另一个可以找到它的MsBuild任务?
感谢。
答案 0 :(得分:6)
你应该可以使用HOMEDRIVE和HOMEPATH env变量来获得它。例如:
<Project ToolsVersion="3.5" DefaultTargets="Demo" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UserDir>$(HOMEDRIVE)$(HOMEPATH)</UserDir>
</PropertyGroup>
<Target Name="Demo">
<Message Text="UserDir : $(UserDir)" Importance="High" />
</Target>
</Project>
当您执行演示目标时,您应该获得当前用户主目录的路径。