15


4

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 MBのファイルです。

さらに悪いことに、それらを削除すると、次にソリューションを構築するときに再生成されます。

何かアドバイス?

  • ETA:*

以下は、Silverlightプロジェクトによって参照されるDLLのリストです。

  • 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

5 Answer


4


Castle ActiveRecordのように、一部の参照アセンブリは国際化にローカライズされたリソースを使用する傾向があることに気付きました。 私が取り組んでいるプロジェクト(Castle ActiveRecordとZedGraphを使用します-どちらも別々のアセンブリにローカライズされたリソースがあります)で確認し、ビルド後、言語フォルダーが `bin`フォルダーに再作成されました。

ですから、プロジェクトで、ローカライズされたリソース、おそらくSilverlightアセンブリまたはArcGISアセンブリ(どちらとも機能しませんでした)を持つ同様のアセンブリを参照していると思います。


2


次の行を削除することで、フォルダーが作成されないようにすることができました。

xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"

対話型.dllを含む不要なフォルダーがあったとき。


2


私はまったく同じ問題を抱えており、なんとかそれを絞り込むことができました。 問題は次の2つの参照にあります。

  1. System.Windows.Control

  2. System.Windows.Control.Toolkit(Silverlight Toolkit 5)

これらの2つの参照を削除することで、不要な外国語DLLを削除できました。

これら2つの参照または他の参照を削除する余裕がない場合は、silverlightインストールディレクトリなどから外国語のdllを削除できます。 C:\ Program Files(x86)\ Microsoft SDKs \ Silverlight \ v5.0 \ Libraries \ Client


1


出力フォルダー内の "System.Windows.Interactivity.resources.dll"サテライトアセンブリに苦労しました。 「\ Program Files \ Microsoft SDKs \ Expression \ Blend.NETFramework \ v4.5 \ Libraries」からすべての言語フォルダーを削除することで問題を解決できました。 記載されているとおりhttps://social.msdn.microsoft.com/Forums/vstudio/en-US/e6dcf967-3bd2-4688-8367-a4f376095fef/language-specific-folders-in-wpf-project-build?forum=wpf [こちら] MSDNフォーラムで。


1


ここでこの問題の解決策を探すことができますが、私は自分でつまずきました。 私はこれらの2つのDLLを設定してローカルのfalseをコピーします:

  False
  False


  False
  False

@darkphoenixは正しいと思いますが、これらの国際化されたdllを出力に含めたい場合にのみフォルダが作成されます。 使用しているDLLを見つけて、ローカルのfalse(プロジェクトファイルで「private」という名前)をコピーするように設定します。 アプリケーションを実行するためにこれらのdllがまだ必要な場合は、ライブラリフォルダーにそれらのハードコピーを保存することを検討してください。