2

Blend 4をインストールしたばかりで、ネイティブコードを含むいくつかのC ++/CLIアセンブリを含むかなり大きなVS2010プロジェクトで使用しようとしています。多くのコントロールで、デザインビューを開こうとすると、「名前XXXは名前空間に存在しません」clr-namespace:YYYのようなブレンドエラーが発生します。

Web(このフォーラムを含む)で同様のエラーを検索し、AnyCPU構成があることを確認するなど、利用可能なすべての提案に従っていることを確認しました。たとえば、「x64\Debug」は使用しません。出力フォルダー、およびXAMLに適切な名前空間宣言があること(clr-namespace宣言で'assembly'を使用)。

また、問題のあるアセンブリの1つにのみアクセスする単純な新しいプロジェクトを作成しましたが、それでもエラーが発生します。

この問題は、アンマネージコードを含むC ++/CLIアセンブリのいずれかを参照するアセンブリに関連しているように見えます。マネージコードのみのアセンブリを参照するアセンブリでエラーが発生しないようです。

エラーの原因は何ですか?

よろしく、

レイフ


ここではほとんど応答がないので、質問を少し書き直す必要があるかもしれません。

管理されていないコードを含むアセンブリを使用するプロジェクトでExpressionBlendを正常に使用した人はいますか?

よろしく、レイフ

4

1 に答える 1

1

同様の問題がありました:プロジェクトはVB 2010でエラーなしで正しくコンパイルされましたが、Expression Blend 4で開くとエラーが発生しました(ちなみに美しいツールです):

名前 XXX は名前空間 "clr-namespace:YYY" に存在しません。

行で:

<CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY}, CreateList=True}" />

私の場合、edmx のエンティティ、ComplexType「YYY_Result」を持つ「YYY」という名前の FunctionImport、およびそのエンティティ「YYY」を参照する CollectionViewSource の XAML コードでした。

この XAML コードは、VB 2010 ではエラーを生成せず、完全に適切にコンパイルおよび実行されました (Blend でも正しくコンパイルされました) が、Blend ではデザイン ビューが生成されませんでした。

解決策: CollectionViewSource の x:Type の間違いに気付き、名前を「YYY」から「YYY_Result」に修正したところ、次のように機能しました。

<CollectionViewSource x:Key="YYYViewSource" d:DesignSource="{d:DesignInstance {x:Type my:YYY_Result}, CreateList=True}" />

結論: この回答は、管理されていないネイティブ コードを含む C++/CLI アセンブリに関する問題とは正確に関連していない可能性があります。

このケースは、プロジェクトが VB 2010 で正しくコンパイルされた良い例にすぎませんが、デザイン ビューの作成時に Blend 4 で同じ XAML が上記のエラー メッセージを生成しました (多くのユーザーがこのフォーラムで同様の問題を報告しました)。

于 2012-01-24T18:07:25.357 に答える