XAML の名前空間に名前が存在しません 質問する

XAML の名前空間に名前が存在しません 質問する

VS2012 を使用して、VB.NET WPF アプリケーションに取り組んでいます。WPF を学習するために使用しているシンプルな MusicPlayer チュートリアル アプリがあります。チュートリアルの C# バージョンを段階的に VB.NET に変換しています。

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

奇妙なことに、IntelliSense は、xmlns:c= タグを介して名前空間を参照する場合と、クラス オブジェクトを入力する場合の両方で正常に機能します<c:が、オブジェクトに下線が引かれ、デザイナーでビルドまたは操作しようとするとエラーが生成されます。

.vb クラス ファイルは、\Controls というフォルダーにあります。メイン プロジェクトのルート名前空間は意図的に空白のままになっています。クラスは次のようにコード化されています...

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」に存在しません。

何が問題なのか、またはそれをどのように修正するのかが分かりませんか?

ベストアンサー1

WPF コードを記述しているときに、VS から「名前 ABCDE は名前空間 clr-namespace:ABC に存在しません」というメッセージが表示されます。ただし、プロジェクトを完全に正常にビルドすることはできますが、UI 設計を確認できない (または単にコードをクリーンアップしたい) ため、少し不便を感じるだけです。

次のことを試してみてください:

  • VSで、ソリューションを右クリック -> プロパティ -> 構成プロパティ

  • 新しいダイアログが開きます。プロジェクト構成をデバッグからリリースに、またはその逆に変更してみてください。

その後、ソリューションを再構築します。これで問題が解決するはずです。

おすすめ記事