1

「hello world」WPF アプリケーションとクラス ライブラリ プロジェクトを含む VS2010 ソリューションがあります。私のクラス ライブラリでは、ReportImageMerge.Core という名前の名前空間にクラスを定義しました。そのプロジェクトを WPF アプリ プロジェクトで参照していますが、ビルドを実行するといくつかのエラーが発生します。カスタム名前空間内のオブジェクトへの参照である残りの親エラーは次のとおりです。

Error   3   The type or namespace name 'Core' does not exist
in the namespace 'ReportImageMerge' (are you missing an assembly reference?)

不思議なことに、プロジェクト参照を削除して再度追加すると、エラーがすべて赤い波線と共に消えてしまいます。再構築するときにのみ、エラーが新たに表示されます。名前空間とクラスは次のように定義されます。

namespace ReportImageMerge.Core.Business
{
    public class ReportHelper
    {
        ...
    }
}

クラスと名前は次のように参照されます。

using ReportImageMerge.Core.Business;

namespace ReportImageMerge.Reporter
{
    public partial class MainWindow : Window
    {
        public ReportHelper ReportHelper { get; set; }
        ...
    }
}

私の問題に関連して見つけた唯一の情報は、ターゲット フレームワークを中心にしているようです。デフォルトでは、WPF アプリケーションは「.NET Framework 4 Client Profile」に設定され、クラス ライブラリは「.NET Framework 4」に設定されています。クラス ライブラリを参照する Silverlight プロジェクトを持つ人々へのアドバイスのほとんどは、Silverlight 固有のクラス ライブラリを使用することでした。WPF アプリ プロジェクトでは同じようには見えません。

参照元のプロジェクトのターゲット フレームワークを参照先のアプリと同じものに変更するようにというアドバイスを見たことがありますが、それを行うと、不特定のランタイム エラーが発生します。

ソリューションをビルドした後、クラス ライブラリの名前空間が認識されるようにするにはどうすればよいですか?

4

1 に答える 1

5

クライアント フレームワークから完全なフレームワークを参照することはできません。

いずれかのプロジェクトを変更して、両方が同じフレームワークを対象とするようにします。

于 2011-12-23T15:36:20.007 に答える