web-dev-qa-db-fra.com

Désactiver les dossiers de culture Dll sur Compile

J'utilise 2 dll (Microsoft.Expression.Interactions.dll et System.Windows.Interactivity.dll) qui, lorsque l'application parent est compilée, créent des charges de dossiers de culture:

Et à l'intérieur de chacune d'elles se trouvent 2 DLL (Microsoft.Expression.Interactions.resources.dll et System.Windows.Interactivity.resources.dll). J'ai cherché sur Google et je ne trouve rien qui indique comment arrêter ce contenu gênant généré automatiquement.

33

Appliquez l'attribut System.Resources.NeutralResourcesLanguageAttribute à la portée de l'assembly, comme suit:

[Assembly: System.Resources.NeutralResourcesLanguageAttribute("en")]

(Un bon endroit pour cela serait le fichier AssemblyInfo.cs dans la section des propriétés du projet)

1
Eyal Perry

Il existe deux solutions de contournement pour ce problème:

  • copier System.Windows.Interactivity.dll et ajouter une référence directement dans ce fichier
  • supprimer ces dossiers de:
    \Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries

Liens connexes:
Solution originale
Fichiers générés par calibre.micro dans le répertoire de publication

19
Wojciech Kulik

J'utilise une autre solution. Vous pouvez configurer un événement post-build pour votre projet dans Vistual Studio, qui supprimera les dossiers redondants:

rd /s /q "de", "en", "es", "fr", "it", "ja", "ko", "ru", "zh-Hans", "zh-Hant"

Cette solution est moins invasive que de supprimer les dossiers du dossier sdk.

10
Digger

Fwiw, j'ai pu les vider de ma version qui utilisait system.windows.interactivity.dll en modifiant mon csproj:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" 
xmlns="http://schemas.Microsoft.com/developer/msbuild/2003">

  <Import Project="$(   **<CHOPPED**>... />
  <PropertyGroup>

 <!--added this line for system.windows.interactivity.dll to dump the localized dll's-->
    <SupportedCultures>en-US</SupportedCultures>
1
dethSwatch