2017-03-17 11 views
-1

私はsome.dllを生成するC#プロジェクトを持っていて、それは複数のDLLを参照しています。そのうちの1つはSystem.ComponentModel.Composition.dllで、の下にあります。私のシステムではどこからSystem.ComponentModel.Composition.dllが参照されていますか?

some.dllをビルドし、Windows XPシステムに導入しました。このsome.dllを使用するアプリケーションは正常に動作します。しかし、Windows XPシステムでの下のSystem.ComponentModel.Composition.dllを検索しようとすると、見つかりませんでした。

アプリケーションが正しく動作しているかどうかを知りたいだけです。

私が理解したい理由は、some.dllを別のシステムに構築し、別のWindows XPシステムに導入したためです。私は、アプリケーションを起動しようとすると、アプリケーションがエラーでクラッシュ:

Exception ::Could not load file or assembly 'System.ComponentModel.Composition.resources, Version=4.0.0.0, Culture=en-NZ, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. 

答えて

2

参照アセンブリがコンパイル時で使用されています。通常ここでは、.NET Frameworkのの部分としてインストールされているアセンブリを参照します。これらのアセンブリは、C:\Windows\Assembly(GACの場合)またはC:\Windows\Microsoft.Netのいずれかに配置されます。

この場合、コンポーネントが欠落しているマシンに.NETの正しいバージョンがインストールされていないことが考えられます。

+0

私はそれも考えました。しかし、以前にアプリケーションが動作していたシステムでは、2番目のシステムでコンパイルされたsome.dllを置くと、アプリケーションはエラーを再び出します。 – pasha

+0

@pasha - エラーメッセージ中の 'en-NZ'カルチャを指しているので、インストールの(人間の)言語固有の部分を不適切に参照/欠落している可能性があります。 –

関連する問題