Xml MSBuild:如何检查文件是否存在?
微软Visual Studio 2012;MSBuild 如果文件不存在,我将收到一个错误(错误MSB4184)。我试图设置一个条件,但它以无效语法结束。。。请从我的项目文件中查找以下代码:Xml MSBuild:如何检查文件是否存在?,xml,visual-studio,msbuild,Xml,Visual Studio,Msbuild,微软Visual Studio 2012;MSBuild 如果文件不存在,我将收到一个错误(错误MSB4184)。我试图设置一个条件,但它以无效语法结束。。。请从我的项目文件中查找以下代码: <Target Name="Resources"> <GenerateResource Condition = " $([System.IO.Directory]::GetFiles("$(MSBuildProjectDirectory)\resources&am
<Target Name="Resources">
<GenerateResource Condition = " $([System.IO.Directory]::GetFiles("$(MSBuildProjectDirectory)\resources","*.*", System.IO.SearchOption.AllDirectories)::Length) != 0 "
Sources="$(MSBuildProjectDirectory)\resources\**\*.*">
<Output TaskParameter="OutputResources"
ItemName="Resources"/>
</GenerateResource>
</Target>
我怎样才能解决这个问题
谢谢。我想你可以用
条件和项目组声明来检查这一点,如下所示:
<Target Name="Resources">
<ItemGroup>
<PackageFiles Include="$(MSBuildProjectDirectory)\resources\**\*.*;"/>
</ItemGroup>
<GenerateResource Condition="Exists('%(PackageFiles.FullPath)')" Sources="@(PackageFiles)">
<Output TaskParameter="OutputResources" ItemName="Resources"/>
</GenerateResource>
</Target>
根据您的要求,您可能需要在输出
标记中进行一些自定义
<Target Name="Resources">
<ItemGroup>
<PackageFiles Include="$(MSBuildProjectDirectory)\resources\**\*.*;"/>
</ItemGroup>
<GenerateResource Condition="Exists('%(PackageFiles.FullPath)')" Sources="@(PackageFiles)">
<Output TaskParameter="OutputResources" ItemName="Resources"/>
</GenerateResource>
</Target>