MSBuild 3.5
我有以下项目结构:
trunk/MainSolution.sln
trunk/Build/MyBuild.Proj
trunk/Library/...
trunk/etc...
到目前为止,我一直在使用以下属性来查找项目根文件夹:
<RootFolder>$(MSBuildProjectDirectory)\..\</RootFolder>
一切都运行良好,直到我尝试使用依赖于此路径的复制任务。它没有正确解决。我基本上最终得到了类似这样无效的东西:
C:\Projects\MyProject\Trunk\Build\..\CodeAnalysis\myfile.xml
所以基本上,我需要获取 (MSBuildProjectDirectory) 的父级的完整路径。
项目元数据是您的朋友!
<Target Name="GetMSBuildProjectParentDirectory">
<!-- First you create the MSBuildProject Parent directory Item -->
<CreateItem Include="$(MSBuildProjectDirectory)\..\">
<Output ItemName="MSBuildProjectParentDirectory" TaskParameter="Include"/>
</CreateItem>
<!-- You can now retrieve its fullpath using Fullpath metadata -->
<Message Text="%(MSBuildProjectParentDirectory.Fullpath)"/>
<!-- Create a property based on parent fullpath-->
<CreateProperty Value="%(MSBuildProjectParentDirectory.Fullpath)">
<Output PropertyName="CodeFolder" TaskParameter="Value"/>
</CreateProperty>
</Target>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)