当我构建我的WPF项目时,它会创建几个语言文件夹,每个文件夹包含“Microsoft.Expression.Interactions.resources.dll”。
奇怪的是,我从未创建过我的资源字符串到其他语言的翻译,但它仍然创建了DE,KR,FR,ES文件夹。我只需要EN。
如何将本地化限制为EN?
您正在看到这些文件,因为您正在使用Blend SDK for .NET(直接或通过Prism库)。该SDK包含本地化资源,因此它们包含在您的构建输出中。
Here's how you create a Silverlight build that targets a specific culture. WPF的工作方式应该相同。它的主旨是:
如果您的解决方案非常庞大,那么这可能需要做很多工作。老实说,在WPF应用程序中使用这些附加文件不会有任何损害 - 它们只占用更多的磁盘空间。您也可以只归档和发送文化资源。假设你已经将你的NeutralResourcesLanguage定义为你的应用程序将始终能够找到它的资源(它们只是用英语)。
@ Mike-Post解决方案对我不起作用:(也许是因为VS2012。我添加了<SupportedCultures>en</SupportedCultures>
但没有任何改变,并且还有一个警告,它是无效的元素。
只需从Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries
删除这些文件夹(en en)
我只是像这样处理它。转到引用的属性并执行以下操作:
设置“复制local = false”
保存
设置“复制local = true”
保存
就是这样。
Visual Studio 2010最初不会在参考标记中设置为True,并将“copy local”设置为false会导致它创建标记。之后它将相应地设置为true和false。
我对Output文件夹中不需要的本地化文件夹和resources.dll文件有同样的不满。删除对Microsoft.Expression.Drawing的引用解决了它。
当然,这意味着我不能在该库中使用任何东西;我在XAML文件中使用<draw:Arc>
来绘制弧形。我刚刚发现了一种绘制弧线的不同方法。