在MsBuild中声明动态配置文件路径

时间:2010-01-13 06:13:24

标签: msbuild msbuild-task

目前我正在尝试将文件复制到用户个人资料中的某个位置,但遇到了声明动态个人资料名称的问题,例如:

<Target Name="CopyScript">
    <MsBuild Projects="JsProject.csproj" />
    <Copy SourceFiles="$(ProjectDir)\myScript.js" DestinationFolder="$(systemdrive)\Documents and Settings\$(userProfileName)" />
</Target>

声明动态用户个人资料名称的语法是什么?我是否必须从某个地方获取配置文件名称,或者是否有另一个可以找到它的MsBuild任务?

感谢。

1 个答案:

答案 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>

当您执行演示目标时,您应该获得当前用户主目录的路径。

相关问题