2016-10-12 153 views
0

VS2015で新しいカスタムコントロールを作成すると問題が発生します。実際には、エラーを含むテーマ/ Generic.xamlファイルを生成しますWPF - 名前空間にCustomControlが存在しません

"名前CustomControlが名前空間MyNamespaceに存在しません"。

はもちろん、カスタムコントロールは、ローカル変数が明確に定義された名前空間MyNamespaceにし、XAMLファイルにあります。

xmlns:local="clr-namespace:MyNamespace" 

いくつかの調査の後、インテリセンスとそれがよく知られているバグです表示され、単純な再起動で問題は解決するはずですが、問題は解決しません。私は

  • コメントとコメントを解除コード
  • 閉じる/ファイルを再度開き
  • 再起動のVisual Studio
  • は/デバッグの間%LOCALAPPDATA%\Microsoft\VisualStudio\14.0\Designer\ShadowCache
  • スイッチ内のすべてのフォルダを削除しようとした

    Related question

    リリース構成...

まだエラーがあります。

IDEによって生成されたカスタムコントロールのラインコードに手を触れていないので、何か不足していますか?

using System.Windows; 
using System.Windows.Controls; 

namespace MyNamespace 
{ 
    public class CustomControl : Control 
    { 
     static CustomControl() 
     { 
      DefaultStyleKeyProperty.OverrideMetadata(typeof(CustomControl), new FrameworkPropertyMetadata(typeof(CustomControl))); 
     } 
    } 
} 

ありがとうございます。

+0

このコントロールは、別の**アセンブリ**にありますか(これを使用しようとする別のプロジェクトですか?また、アプリが正常に参照されている場合は、アプリを実行してみてください。それでもエラーはクリアされます。少なくとも、私はこのバグに遭遇したときに何が起こるかです。 –

+0

CutomControlはプロジェクトにあり、他のアセンブリではないので、XAMLファイルでアセンブリ名を明示的に定義する必要はありません。しかし、私はちょうどソリューションを再構築しようとしましたが、動作します...しかしデザイナーパネルはまだエラーを取得し、パネルには「デザインビューは正しく表示されません。カスタム要素はまだビルドされていません。私もまた再開しようとしましたが、まだそこに... – mickaelb91

答えて

0

私は最終的に回避策を見つけましたが、CPUターゲットに関連する問題のようです。私はx64用にビルドしていましたが、「Any CPU」と「Prefer 32bits」を選択すると、Designerは名前空間内のすべてのメンバーを見つけることができます。これは、Visual Studioが32ビットアプリケーションであるために発生する可能性がありますか?ありがとうございました。

関連する問題