13

以下が発生する理由を見つけようとしばらく調査してきましたが、StackOverflow または Google の解決策は役に立ちません。

同じプロジェクト内の名前空間を参照しようとしているカスタム UserControl があります。

xmlns:my="clr-namespace:ColorPicker"

ただし、コンパイルすると、次のエラーが発生します。

未定義の CLR 名前空間。'clr-namespace' URI は、アセンブリに含まれていない名前空間 'ColorPicker' を参照しています。

これにより、プロジェクトをビルドしたり、xaml 内で他のカスタム コントロールを参照したりできなくなり、次の種類のエラーが生成されます。

タイプ「my:ColorSelector」が見つかりませんでした。アセンブリ参照が欠落していないこと、および参照されているすべてのアセンブリがビルドされていることを確認してください。

これらの投稿に記載されているすべての解決策を試しました。

カスタム名前空間を xaml に追加する

WPF xmlns: 'clr-namespace' URI は、アセンブリに含まれていない名前空間を参照しています

「clr-namespace」URI は、アセンブリに含まれていない名前空間を参照しています

未定義の CLR 名前空間

また、明確にするために、このプロジェクトの他のファイルに関する他のエラーは発生していないため、他のファイルがコンパイルされていないことが原因ではないようです。

更新: エラーを生成するサンプル プロジェクトは、ここからダウンロードできます: http://www.filefactory.com/file/28fbmhj3f4qj/n/ColorPicker_zip

4

3 に答える 3

6

最初のリンクされた質問には答えがあります。答えは、.xaml で参照する前に、名前空間と参照されるクラス/コントロールを含むアセンブリをビルドする必要があるということです。xaml 名前空間の宣言をコメント アウトし、それらの名前空間の xaml 要素をコメント アウトしてから、それらの要素が宣言されなくなったために壊れた C# コードをコメント アウトしました。つまり、ビルドが成功するまでコメントし続けました。アセンブリがビルドされたら、xaml 名前空間の宣言、次に要素のコメントを外しました。これにより、これらの要素で Name の代わりに x:Name を使用する必要があるというエラーが発生したので、そうしました。次に、C# コードのコメントを外すと、ビルドされます。

于 2012-06-15T14:07:35.767 に答える
1

xmlns:my="clr-namespace:ColorPicker;assembly=ColorPicker".

これは私のために働いた!それはより速く、より煩わしくないです!

于 2013-07-15T17:53:55.640 に答える