Как я могу ограничить сборки только для поддержки EN "Microsoft.Expression.Interactions.resources.dll" и избегать DE, KR, FR, ES и т.д ...? - PullRequest
16 голосов
/ 07 декабря 2011

Когда я собираю свой проект WPF, он создает несколько языковых папок, каждая из которых содержит «Microsoft.Expression.Interactions.resources.dll».

Странно то, что я никогда не создавал переводы своих строк ресурсов на другие языки, и все же он по-прежнему создает папки DE, KR, FR, ES. Что мне просто нужно, это EN.

Как я могу ограничить локализацию только EN?

Ответы [ 4 ]

2 голосов
/ 07 декабря 2011

Вы видите эти файлы, потому что используете Blend SDK для .NET (напрямую или через библиотеку Prism). Этот SDK включает в себя локализованные ресурсы, поэтому они включаются в выходные данные вашей сборки.

Вот как вы создаете сборку Silverlight, ориентированную на конкретную культуру. Она должна работать так же, как и для WPF. Суть этого:

  1. Создайте новую конфигурацию в своем решении.
  2. Измените каждый файл проекта, указав SupportedCulture как "en" (обратите внимание на регистр).

Если ваше решение довольно большое, это может быть много работы. Честно говоря, эти дополнительные файлы в приложении WPF ничуть не повредят - они просто занимают немного больше места на диске. Вы также можете только архивировать и отправлять ресурсы по культуре. Предполагая, что вы определили свой NeutralResourcesLanguage как en, ваше приложение всегда сможет найти свои ресурсы (они будут только на английском языке).

1 голос
/ 02 августа 2013

@ Решение 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

просто удалите эти папки (кроме en возможно) из Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries

0 голосов
/ 08 апреля 2019

Я просто так с этим справляюсь.Перейдите к свойствам вашей ссылки и сделайте следующее:

Установите «Копировать локально = false»

Сохранить

Установить «Копировать локально = true»

Сохранить

и все.

Visual Studio 2010 изначально не помещает: True в ссылочный тег и установка «copy local» в false приводит к тому, что он создает тег.После этого он установит для него значение true и false соответственно.

0 голосов
/ 16 января 2014

У меня было то же самое раздражение ненужных локализованных папок и файлов resources.dll в папке вывода. Удаление ссылки на Microsoft.Expression.Drawing решило ее.

Конечно, это означало, что я ничего не могу использовать в этой библиотеке; Я использовал <draw:Arc> в файле XAML, чтобы нарисовать дугу. Я просто нашел другой способ нарисовать дугу.

...