MSBuild - 如何复制Project目录之外的文件

时间:2012-05-15 22:05:58

标签: visual-studio-2008 msbuild copy csproj

我是MSBuild的新手,我正在尝试将文件从源代码控制上的一个文件夹复制到项目目录。以下是代码:

<ItemGroup>
    <MySourceFiles Include="C:\my_clearcase_view\Demo_Folder\demo.jar" />
</ItemGroup>

<Target Name="AfterBuild">
   <Copy SourceFiles="@(MySourceFiles)" DestinationFiles="$(MSBuildProjectDirectory)\demo.jar" />
</Target>

此代码使用'demo.jar'文件的绝对路径。文件夹结构如下所示:

C:\my_clearcase_view\
             - DemoFolder (Source)
             - my_project (Destination, which is $(MSBuildProjectDirectory))

假设源路径永远不会改变,我怎样才能获得文件夹层次结构中项目上方的源文件的相对路径?我只能使用$(MSBuildDirectory)到达项目目录的根目录。请指教。提前谢谢。

2 个答案:

答案 0 :(得分:1)

如果我正确理解你,你可以这样做;

<ItemGroup>
    <MySourceFiles Include="$(MSBuildProjectDirectory)\..\Demo_Folder\demo.jar" />
</ItemGroup>

答案 1 :(得分:0)

根据Rory的回答,我尝试了不同的组合,最后得到了它。

<ItemGroup>
   <MySourceFiles Include="..\Demo_Folder\demo.jar" />
</ItemGroup>

感谢指针Rory。