如何将构建限制为仅支持 EN“Microsoft.Expression.Interactions.resources.dll”,并避免 DE、KR、FR、ES 等...?

Posted

技术标签:

【中文标题】如何将构建限制为仅支持 EN“Microsoft.Expression.Interactions.resources.dll”,并避免 DE、KR、FR、ES 等...?【英文标题】:How can I limit builds to only support EN "Microsoft.Expression.Interactions.resources.dll", and avoid DE, KR, FR, ES, etc...? 【发布时间】:2011-12-07 05:05:11 【问题描述】:

当我构建我的 WPF 项目时,它会创建几个语言文件夹,每个文件夹都包含“Microsoft.Expression.Interactions.resources.dll”。

奇怪的是,我从来没有将我的资源字符串翻译成其他语言,但它仍然会创建 DE、KR、FR、ES 文件夹。我只需要EN。

如何将本地化限制为 EN?

【问题讨论】:

重复? 6年前我第一次问,“禁用Dll文化”问题是4年前。所以告诉“禁用 Dll 文化”作者,他的问题与这个问题重复。 【参考方案1】:

您看到这些文件是因为您正在使用 Blend SDK for .NET(直接或通过 Prism 库)。该 SDK 包含本地化资源,因此它们会包含在您的构建输出中。

Here's how you create a Silverlight build that targets a specific culture. 它应该与 WPF 的工作方式相同。它的要点是:

    在您的解决方案中进行新配置。 编辑每个项目文件,将 SupportedCulture 指定为“en”(注意大小写)。

如果您的解决方案非常大,这可能需要大量工作。老实说,在 WPF 应用程序中拥有这些附加文件并没有什么害处——它们只是占用了更多的磁盘空间。您也可以只归档和发送 en 文化资源。假设您已将 NeutralResourcesLanguage 定义为 en 您的应用程序将始终能够找到其资源(它们只会是英文的)。

【讨论】:

谢谢!我指定 en;en-US 只是为了确定 :)【参考方案2】:

@Mike-Post 解决方案对我不起作用 :( 可能是因为 VS2012。 我添加了<SupportedCultures>en</SupportedCultures>,但没有任何改变,而且还有一个警告,它是无效元素。

但这是另一种解决方案: http://social.msdn.microsoft.com/Forums/vstudio/en-US/feb23879-660d-43d1-93ef-90a63eef70c6/how-can-i-remove-localization-information-from-my-wpf-project

只需从Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries 中删除这些文件夹(en 可能除外)

【讨论】:

我遇到了这个问题,你解决了吗(无需删除 SDK 文件夹中的文化文件夹)? @AlexReed 如果您不需要它们,为什么不能从 SDK 文件夹中删除它们?我记得我没有找到更好的解决方案。或者我认为您可以通过 Post Build VS 项目事件从输出文件夹中删除它们(或将其他所有内容复制到另一个文件夹)。 啊,这很烦人。猜猜我只会做后期构建活动。真的不想删除文件。谢谢。 中断 SDK 或工具包安装不是项目的构建文件夹中删除本地化资源的推荐方法。至于<SupportedCulture>not working - 你有一个错字。你输入了<SupportedCultures>【参考方案3】:

我只是这样处理它。转到参考的属性并执行以下操作:

设置“复制本地 = false”

保存

设置“复制本地 = true”

保存

就是这样。

Visual Studio 2010 最初并未在引用标记中放置:True,并将“本地复制”设置为 false 会导致它创建标记。之后它将相应地设置为 true 和 false。

【讨论】:

【参考方案4】:

我对输出文件夹中不需要的本地化文件夹和 resources.dll 文件也有同样的不满。删除对 Microsoft.Expression.Drawing 的引用解决了它。

当然,这意味着我不能使用那个库中的任何东西;我在 XAML 文件中使用 <draw:Arc> 来绘制弧线。我刚刚找到了另一种绘制圆弧的方法。

【讨论】:

以上是关于如何将构建限制为仅支持 EN“Microsoft.Expression.Interactions.resources.dll”,并避免 DE、KR、FR、ES 等...?的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的应用程序限制为仅适用于 iPhone [重复]

如何将 ipad 应用程序限制为仅 ios6?

如何将 CreateWindowEx 限制为仅限字母数字输入?

如何将文本字段限制为仅有效的小数?

将 jQuery .keydown() 限制为仅特定键

如何将输入限制为仅接受数字?