我有以下属性
<DynamicViewDrive Condition="'$(DynamicViewDrive)' == ''">U:</DynamicViewDrive>
每当我更改我的文件夹而不是U:驱动器时,我必须编辑此属性。
如何使用Msbuild中的Propertyfunction获取当前的驱动器号?
答案 0 :(得分:4)
这将是当前项目文件的驱动器号:
<Drive Condition=" '$(Drive)' == '' ">$([System.IO.Path]::GetPathRoot($(MSBuildProjectFullPath)))</Drive>
答案 1 :(得分:1)
这是执行此操作的旧式方法,这次使用的是项目而不是属性。
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="ShowDrive" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Drive Include="$(MSBuildProjectFullPath)"/>
</ItemGroup>
<Target Name="ShowDrive">
<Message Text="Drive: %(Drive.RootDir)"/>
</Target>
</Project>
这样,如果需要,您可以使用MSBuildProjectFullPath属性中的其他Well known item metadata。