在编译时禁用Dll文化文件夹

我正在使用2 dll( Microsoft.Expression.Interactions.dllSystem.Windows.Interactivity.dll ),当编译父应用程序时,创建文化文件夹的负载:

每个内部都是2个dll( Microsoft.Expression.Interactions.resources.dllSystem.Windows.Interactivity.resources.dll )。 我已经google了,我找不到任何有关如何阻止这个烦人的自动生成内容的事情。

在程序集范围应用System.Resources.NeutralResourcesLanguageAttribute属性,如下所示:

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

(这个的好地方是项目属性部分的AssemblyInfo.cs文件)

此问题有两种解决方法:

  • 复制System.Windows.Interactivity.dll并直接向此文件添加引用
  • 删除这些文件夹:
    \Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries

相关链接:
原始方案
由Release目录中的caliburn.micro生成的文件

我用其他解决方案。 您可以在Vistual Studio中为项目配置Post-build事件,这将删除多余的文件夹:

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

此解决方案比从sdk文件夹中删除文件夹的侵入性小。

Fwiw,我能够通过修改我的csproj从我使用system.windows.interactivity.dll的构建中转储它们: