Visual Studio 2010: почему все папки на иностранном языке?
В папке /bin/debug моего решения я заметил множество папок с иностранными языками с именами типа "ar", "bg", "ca", cs "," da "... вплоть до" zh-Hant ". Папки имеют копии этих 4 библиотек DLL:
- System.ComponentModel.DataAnnotations.resources.dll
- System.Windows.Controls.Data.Input.resources.dll
- System.Windows.Controls.Data.resources.dll
- System.Windows.Controls.resources.dll
В приложении Silverlight, которое я разрабатываю, нет поддержки интернационализации, поэтому я не могу понять, как эти файлы и папки попали туда. В целом, это почти 13 МБ файлов.
Хуже того, когда я удалю их, они будут восстановлены при следующем построении решения.
Любые советы?
ETA:
Вот список DLL, на который ссылается проект Silverlight:
- ESRI.ArcGIS.Client
- ESRI.ArcGIS.Client.Toolkit
- mscorlib
- система
- System.Core
- System.Net
- System.Runtime.Serialization
- System.ServiceModel
- System.Windows
- System.Windows.Browser
- System.Windows.Controls
- System.Windows.Controls.Layout.Toolkit
- System.Windows.Controls.Navigation
- System.Windows.Interactivity
- System.Xml
Ответы
Ответ 1
Я заметил, что некоторые ссылочные сборки, как правило, используют локализованные ресурсы для интернационализации, например Castle ActiveRecord.
Я только что проверил проект, над которым я работаю (который использует Castle ActiveRecord и ZedGraph - оба из которых имеют локализованные ресурсы в отдельных сборках), а после создания языковые папки были воссозданы в моей папке bin
.
Итак, я полагаю, что вы ссылаетесь на аналогичную сборку в своем проекте, в которой есть локализованные ресурсы, возможно, сборки Silverlight или сборки ArcGIS (никогда не работали с ними).
Ответ 2
Мне удалось предотвратить создание папок, удалив строку:
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
когда у меня были нежелательные папки, содержащие интерактивность .dll.
Ответ 3
У меня есть одна и та же проблема, и мне удалось ее сузить. Проблема заключается в этих двух ссылках:
- System.Windows.Control
- System.Windows.Control.Toolkit(Silverlight Toolkit 5)
Удалив эти две ссылки, мне удалось удалить ненужные библиотеки иностранных языков.
Если вы не можете позволить себе удалить эти 2 ссылки или любые другие ссылки, вы можете удалить dll из иностранного языка из каталога установки Silverlight, например. C:\Program Files (x86)\Microsoft SDK\Silverlight\v5.0\Libraries\Client
Ответ 4
Я просто боролся с сателлитными сборками "System.Windows.Interactivity.resources.dll" в моей выходной папке. Я могу решить проблему, удалив все языковые папки из "\ Program Files\Microsoft SDKs\Expression\Blend.NETFramework\v4.5\Libraries". Как описано здесь на форуме MSDN.
Ответ 5
Я могу найти решение этой проблемы, но сам наткнулся на нее. Я установил эти 2 dll для копирования локального false:
<Reference Include="System.Windows.Controls, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
<Reference Include="System.Windows.Controls.Navigation, Version=5.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Private>False</Private>
</Reference>
Я бы сказал, что @darkphoenix верен, но папки создаются только в том случае, если вы хотите включить эти интернационализированные dll в свой вывод. Найдите DLL, которую вы используете, и скопируйте локальное ложное (с именем 'private' в файле проекта). Если вам все еще нужна эта DLL для запуска вашего приложения, подумайте о том, чтобы иметь их в папке с библиотекой.