在编译时禁用Dll文化文件夹
我正在使用2 dll( Microsoft.Expression.Interactions.dll
和System.Windows.Interactivity.dll
),当编译父应用程序时,创建文化文件夹的负载:
每个内部都是2个dll( Microsoft.Expression.Interactions.resources.dll
和System.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的构建中转储它们: