问题
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:
- Make a new configuration in your solution.
- 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