2017-10-05 1 views
1

Si j'ajoute un nouveau fichier resx à mes propriétés des dossiers dans mon nouveau projet dotnetstandard 2.0 SDK de VS2017 Je voisComment ajouter un glob resx pour le nouveau SDK fichier csproj

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
    <TargetFramework>netstandard2.0</TargetFramework> 
    </PropertyGroup> 

    <ItemGroup> 
    <EmbeddedResource Remove="Properties\foo.resx" /> 
    </ItemGroup> 

    <ItemGroup> 
    <Compile Update="Properties\MyWords.Designer.cs"> 
     <DesignTime>True</DesignTime> 
     <AutoGen>True</AutoGen> 
     <DependentUpon>MyWords.resx</DependentUpon> 
    </Compile> 
    </ItemGroup> 

    <ItemGroup> 
    <EmbeddedResource Update="Properties\MyWords.resx"> 
     <Generator>ResXFileCodeGenerator</Generator> 
     <LastGenOutput>MyWords.Designer.cs</LastGenOutput> 
    </EmbeddedResource> 
    </ItemGroup> 


</Project> 

Cependant, je préfère pour que cela soit traité de la même manière que les fichiers cs normaux sont traités. Le projet est vide et le système de fichiers est recherché. Quelle est la globby façon d'atteindre ce qui précède de sorte que lorsque j'ajoute de nouveaux fichiers, ils ne finissent pas explicitement déclaré.

Ma première tentative est

<ItemGroup> 
    <Compile Update="Properties\**\*.designer.cs"> 
     <DesignTime>True</DesignTime> 
     <AutoGen>True</AutoGen> 
     <DependentUpon>Properties\%(Filename).resx</DependentUpon> 
    </Compile> 
    </ItemGroup> 

    <ItemGroup> 
    <EmbeddedResource Update="Properties\**\*.resx"> 
     <Generator>ResXFileCodeGenerator</Generator> 

    </EmbeddedResource> 
    </ItemGroup> 

mais cela ne fonctionnera pas parce que

Properties\%(Filename).resx 

se développe pour

Properties\Foo.designer.resx 

au lieu de

Properties\Foo.resx 

Répondre

0

Vous pouvez utiliser les fonctions de propriété sur les métadonnées afin d'effacer la partie .Designer avec String.Replace devrait être ok:

<Compile Update="Properties\**\*.designer.cs"> 
    <DesignTime>True</DesignTime> 
    <AutoGen>True</AutoGen> 
    <DependentUpon>Properties\$([System.String]::Copy('%(FileName)').Replace('.Designer', '')).resx</DependentUpon> 
</Compile>