1. ホーム
  2. wpf

[解決済み] XAMLで名前が名前空間に存在しないエラーが発生する

2022-02-07 09:48:22

質問

VB.NET WPFアプリケーションで作業中のVS2012を使用しています。 私はWPFを学ぶために使用している簡単なMusicPlayerチュートリアルアプリを持っています。 私は、チュートリアルのC#バージョンをVB.NETに段階的に変換しています。

このアプリには2つのクラスがあり、両方とも同じ名前空間下にあります。 XAMLでネームスペースを参照することはできますが、XAMLでクラスオブジェクトを参照しようとすると、エラーが発生し、コンパイルすることができません。

不思議なことに、xmlns:c= タグを使用してネームスペースを参照した場合も、クラスオブジェクトを <c: しかし、オブジェクトには下線が引かれ、ビルドやデザイナーでの作業を行おうとするとエラーが発生します。

.vbのクラスファイルは、 \Controlsというフォルダにあります。 Main project Root Namespaceは意図的に空白にしています。 このクラスは次のようなコードになっています。

Namespace MusicPlayer.Controls
    Public Class UpdatingMediaElement
       .... code here
    End Public
End Namespace

xamlは次のようになります。

(で定義された名前空間)。 <Window > タグ

xmlns:c="clr-namespace:MusicPlayer.Controls"

(で定義されたオブジェクト)。 <Grid> )

  <c:UpdatingMediaElement Name="MyMediaElement" />

(エラー表示) 名前 "UpdatingMediaElement" は名前空間 "clr-namespace:MusicPlayer.Controls" に存在しません。

何が問題なのか、どのように修正すればいいのかわからない?

解決方法は?

wpfのコードを書いているときに、VSが "名前空間 clr-namespace:ABC" に ABCDEという名前が存在しない、と言ってきたときです。しかし、あなたは完全にあなたのプロジェクトを正常に構築することができ、あなたがUI設計を見ることができないので、小さな不便があるだけです(または単にコードをきれいにしたい)。

これらを実行してみてください。

  • VSで、ソリューションを右クリック -> プロパティ -> 構成のプロパティを表示します。

  • 新しいダイアログが開くので、プロジェクトの構成をDebugからReleaseに、またはその逆に変更してみてください。

その後、ソリューションを再ビルドしてください。問題を解決することができます。