0

MS Visual Studio 2012; MSビルド。

ファイルが存在しない場合、エラー (エラー 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>

この条件は次のようなものです。

System.IO.Directory.GetFiles("$(MSBuildProjectDirectory)\resources","*.*", System.IO.SearchOption.AllDirectories).Length

どうすればこの問題を解決できますか?

ありがとうございました。

4

1 に答える 1

0

これは、以下Conditionの宣言で確認できると思います。ItemGroup

<Target Name="Resources">
    <ItemGroup>
      <PackageFiles Include="$(MSBuildProjectDirectory)\resources\**\*.*;"/>
    </ItemGroup>
    <GenerateResource Condition="Exists('%(PackageFiles.FullPath)')" Sources="@(PackageFiles)">
        <Output TaskParameter="OutputResources" ItemName="Resources"/>
    </GenerateResource>
</Target>

Outputおそらく、要件に応じて、タグでいくつかのカスタマイズが必要になる場合があります。

于 2013-07-11T11:42:18.890 に答える