2

最近、VS2010、C#、および .Net 4 で、参照されたアセンブリ (AssemblyA と呼ぶ) の名前空間を使用できないという問題が発生しました。ここの問題に似ています。

AssemblyA を Any Cpu ではなく x86 プラットフォームをターゲットに設定することで、問題を修正できました。

私の質問は、プラットフォーム ターゲットを x86 に変更すると、プロジェクトで AssemblyA の名前空間を使用できるようになったのはなぜですか?

プラットフォーム ターゲットを変更せずに、他のプロジェクトで AssemblyA を参照できたことに注意してください。また、私の参照はすべてプロジェクトの参照でした。

編集:明らかに私は間違っています。x86に変えても動かない。これを引き起こしている可能性のあるアイデアはありますか?

更新: 私のプロジェクトはすべて完全な .NET 4 プロファイルを使用しています。

編集:

いくつかのテストを行った後、さらに情報が得られました。Debug/Release ビルドを切り替えて (切り替える順序は関係ありません)、AssemblyA をクリーンアップすると、名前空間を問題なく使用できます。AssemblyA を再構築するとすぐに、名前空間を使用できなくなります。どのプラットフォームを対象としているかは問題ではないようです。

4

2 に答える 2

0

ここでの取引が何であるかはわかりませんが、回避策として、まったく新しいプロジェクトを作成し、コードをコピーしました。新しいプロジェクトは、私に問題を与えていたプロジェクトと同じように設定されています。ただし、他のプロジェクトで新しいプロジェクトを問題なく参照できます。

于 2012-10-23T13:55:40.213 に答える
0

アセンブリを参照しているプロジェクトが、デフォルトの「クライアント プロファイル」ではなく「.NET 4 フル プロファイル」に設定されていることを確認する必要があります。DLL がフル プロファイルのクラスを使用していて、アセンブリがクライアント プロファイルに設定されている場合、DLL を参照できません。

プロジェクトを右クリックして、 をクリックしますProperties。次に、Applicationタブの下にある を見てくださいTarget Framework。に設定されていないことを確認してください.NET Framework 4 Client Profile

于 2012-10-22T19:57:02.573 に答える