2017-03-02 75 views
6

我發佈了ASP.NET Core 1.1應用程序,我需要從輸出中刪除由庫創建的幾個文件夾(fr; nl; pt)流利的驗證):用新的ASP.NET CORE 1.1 csproj文件格式發佈後刪除文件夾

<ItemGroup> 
    <FluentValidationExcludedCultures Include="fr;nl;pt"> 
    <InProject>false</InProject> 
    </FluentValidationExcludedCultures> 
</ItemGroup> 

<Target Name="RemoveTranslationsAfterBuild" AfterTargets="AfterBuild"> 
    <RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutputPath)%(Filename)')" /> 
</Target> 

但是,這並不工作,文件夾仍然複製......然後我想:

<ItemGroup> 
    <Content Include="fr" CopyToPublishDirectory="Never" /> 
    <Content Include="nl" CopyToPublishDirectory="Never" /> 
    <Content Include="pt" CopyToPublishDirectory="Never" /> 
</ItemGroup> 

但這並沒有工作,要麼...

有沒有人有任何想法如何做這個工作?

回答

2

嘗試編輯您的csproj文件,並添加下面的部分爲每個你不想在發佈時包含的目錄:

<ItemGroup> 
    <PublishFile Remove="directory\**" /> 
</ItemGroup> 
+0

試圖爲wwwroot添加這一行,但沒有工作。發佈將完全複製wwwroot。 –

0

另一種解決方案,爲建築工作/發佈

<!-- Removes FluentValidation localization folders --> 
    <Target Name="AfterPackage" AfterTargets="CopyAllFilesToSingleFolderForPackage" /> 
    <ItemGroup> 
    <FluentValidationExcludedCultures Include="cs;da;de;es;fa;fi;fr;it;ko;mk;nl;pl;pt;ru;sv;tr;zh-CN"> 
     <InProject>false</InProject> 
    </FluentValidationExcludedCultures> 
    </ItemGroup> 
    <Target Name="FluentValidationRemoveTranslationsAfterBuild" AfterTargets="AfterBuild"> 
    <RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutDir)%(Filename)')" /> 
    </Target> 
    <Target Name="FluentValidationRemoveTranslationsAfterPackage" AfterTargets="AfterPublish"> 
    <RemoveDir Directories="@(FluentValidationExcludedCultures->'$(OutDir)%(Filename)')" /> 
    </Target>