2016-05-10 6 views
0

でXmlnsDefinitionを使用する方法:「WPFSample」と呼ばれるWPFのサンプルアプリケーションおよび「ReferencedAssembly」と呼ばれるクラスライブラリプロジェクトを。 "WPFSample"は "ReferencedAssembly"を参照します。私は2つのプロジェクトとソリューション持っVB.net

プロジェクトは「ReferencedAssembly」クラスのカップルが含まれています。すべてのクラスには独自の名前空間、つまり「MyClassLibrary」または「MyClassLibrary.MyOtherTypes」があります。名前空間 "MyClassLibrary"を持つサンプルクラスは "Movie"と呼ばれます。

今、私はURLを使用してXAML名前空間に.NET名前空間をマップする「http://schemas.emmbee.de/」。この目的のために、私は「WPFSample」プロジェクトでAssemblyInfo.vbに以下の行を追加し、その後それを構築:

Imports System.Windows.Markup 

<Assembly: XmlnsPrefix("http://schemas.emmbee.de/", "ra")> 
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary")> 
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary.MyOtherTypes")> 

XAMLで私はこのような名前空間定義を追加:私が欲しい場合は

<xmlns:ra="http://schemas.emmbee.de"> 

をクラス「ムービー」「http://schemas.emmbee.de」名前空間に存在しないことを、私はエラーが表示さ

<ra:Movie/> 

で「ムービー」クラスを使用します。

私が代わりにこのように、名前空間の定義を追加する場合:すべてが正常に動作します

<xmlns:ra="clr-namespace:ReferencedAssembly.MyClassLibrary;assembly=ReferencedAssembly"> 

はXmlnsDefinitionの何が問題になっているのですか?

答えて

0

私は名前空間マッピング

Imports System.Windows.Markup 
<Assembly: XmlnsPrefix("http://schemas.emmbee.de/", "ra")> 
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary")> 
<Assembly: XmlnsDefinition("http://schemas.emmbee.de/", "ReferencedAssembly.MyClassLibrary.MyOtherTypes")> 

はないアセンブリ「WPFSample」で、アセンブリ「ReferencedAssembly」の「AssemblyInfo.vb」に含まれている必要がありますに。それをout.Theました

関連する問題