Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml MSBuild:如何检查文件是否存在?_Xml_Visual Studio_Msbuild - Fatal编程技术网

Xml MSBuild:如何检查文件是否存在?

Xml MSBuild:如何检查文件是否存在?,xml,visual-studio,msbuild,Xml,Visual Studio,Msbuild,微软Visual Studio 2012;MSBuild 如果文件不存在,我将收到一个错误(错误MSB4184)。我试图设置一个条件,但它以无效语法结束。。。请从我的项目文件中查找以下代码: <Target Name="Resources"> <GenerateResource Condition = " $([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\resources&am

微软Visual Studio 2012;MSBuild

如果文件不存在,我将收到一个错误(错误MSB4184)。我试图设置一个条件,但它以无效语法结束。。。请从我的项目文件中查找以下代码:

<Target Name="Resources">
    <GenerateResource Condition = " $([System.IO.Directory]::GetFiles(&quot;$(MSBuildProjectDirectory)\resources&quot;,&quot;*.*&quot;, 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>