How can I limit builds to only support EN “Microsoft.Expression.Interactions.resources.dll”, and avoid DE, KR, FR, ES, etc…?

末鹿安然 提交于 2019-12-04 08:24:30

问题


When I build my WPF Project, it creates several language folders, each containing "Microsoft.Expression.Interactions.resources.dll".

The weird thing is that I never created translations of my resource strings to other languages, and yet it still creates DE, KR, FR, ES folders. What I just need is EN.

How can I limit the localization to just EN?


回答1:


You're seeing those files because you're using the Blend SDK for .NET (either directly or through the Prism library). That SDK includes localized resources thus they get included in your build output.

Here's how you create a Silverlight build that targets a specific culture. It should work the same way for WPF. The jist of it is:

  1. Make a new configuration in your solution.
  2. Edit each project file to specify the SupportedCulture as "en" (note the casing).

If your solution is quite large this could be a lot of work. Honestly it doesn't harm anything to have this additional files in a WPF application -- they simply take up a little more disk space. You could also only archive and ship the en culture resources. Assuming you've defined your NeutralResourcesLanguage as en your the application will always be able to find its resources (they'll just be in English).




回答2:


@Mike-Post solution didn't work for me :( Maybe because VS2012. I added <SupportedCultures>en</SupportedCultures> but nothing changed and also there was a warning that it is invalid element.

But here is another solution: http://social.msdn.microsoft.com/Forums/vstudio/en-US/feb23879-660d-43d1-93ef-90a63eef70c6/how-can-i-remove-localization-information-from-my-wpf-project

just delete these folders (except en maybe) from Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.0\Libraries




回答3:


I just deal with it like this. Go to the properties of your reference and do this:

Set "Copy local = false"

Save

Set "Copy local = true"

Save

and that's it.

Visual Studio 2010 doesn't initially put: True in the reference tag and setting "copy local" to false causes it to create the tag. Afterwards it will set it to true and false accordingly.




回答4:


I had this same irritation of unneeded localized folders and resources.dll files in the Output folder. Removing the reference to Microsoft.Expression.Drawing solved it.

Of course, this meant that I cannot use anything in that library; I was using <draw:Arc> in a XAML file to draw an arc. I just found a different way to draw the arc.



来源:https://stackoverflow.com/questions/8410653/how-can-i-limit-builds-to-only-support-en-microsoft-expression-interactions-res

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!