我是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)到达项目目录的根目录。请指教。提前谢谢。
答案 0 :(得分:1)
如果我正确理解你,你可以这样做;
<ItemGroup>
<MySourceFiles Include="$(MSBuildProjectDirectory)\..\Demo_Folder\demo.jar" />
</ItemGroup>
答案 1 :(得分:0)
根据Rory的回答,我尝试了不同的组合,最后得到了它。
<ItemGroup>
<MySourceFiles Include="..\Demo_Folder\demo.jar" />
</ItemGroup>
感谢指针Rory。