3

現在、ユーザーのプロファイル内の場所にファイルをコピーしようとしていますが、動的プロファイル名の宣言で問題が発生しました。

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

動的ユーザー プロファイル名を宣言するための構文は何ですか? どこかからプロファイル名を取得する必要がありますか、またはそれを見つける別の MsBuild タスクがありますか?

ありがとう。

4

1 に答える 1

8

これは、HOMEDRIVE および HOMEPATH 環境変数で取得できるはずです。例えば:

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

Demo ターゲットを実行すると、現在のユーザーのホーム ディレクトリへのパスが取得されます。

于 2010-01-13T22:40:26.150 に答える