2017-05-24 10 views
1

ベースのExrinテンプレートを使用して、カスタムコントロールを使用できません。Exrin内でカスタムコントロールを使用する際の参照の問題

Droid/iOSプロジェクトは、App/Bootstrapperプロジェクトを参照しているため、適切な場所と思われますが、新しいページまたはBaseViewを作成すると、カスタムコントロールのViewプロジェクトがApp/Bootstrapperプロジェクトを参照していないためです。

App/BootstrapperとViewプロジェクトが分離されていないため、Teslaサンプルアプリケーションには現在の実装でこの問題はありません。

(1)App/Bootstrapperへの参照をViewプロジェクトに配置するか、(2)Viewプロジェクトへの参照をAndroid/iOS/etcプロジェクトに配置する必要がありますか?または、これらの2つのどちらよりも優れたソリューションがありますか?

編集: (1)は、ビューからAppプロジェクトへの参照によって循環依存関係が作成されるため機能しません。

(2)はうまくいくはずですが、using Application.View;を追加するとApplication namespaceに名前が見つからないため、Application.Viewプロジェクトの名前空間にアクセスするためにApplication.Droidプロジェクトを取得できません。 。 Visual Studioは、入力時に他のアプリケーションの名前空間(.Container、.Logic、.Droid、.Proxy)を入力しようとしますusing Application.

答えて

1

ネイティブプロジェクトにはビューが参照されます。それはAppライブラリを参照しているため、既に何らかの形で行われています.AppライブラリはViewを参照します。したがって、実際にこれを行うことによって、さらに依存関係を追加することはなく、単にアクセスをチェーンの上に置くだけです。

あなたが困った名前空間を持っている場合は、私はあなたが

global::Application. 

とのは、プロジェクトの名前空間にまで混入あれば、それは、トップから始まりその方法を開始示唆しています。

+0

これは私にとっては機能しません。私はApplication.CustomControls名前空間を作成しました。 Application.Droidプロジェクトはこれにちょうどいいです。 .Viewプロジェクトは 'global :: Application.CustomControls'を使っていても表示されません。私はCustomControls名前空間を.Viewプロジェクトに入れてレンダラーの.Droidプロジェクトで 'global :: Application.View.CustomControls'を使ってみましたが、それでも動作しませんでした。思考? –

+0

このApplication.CustomControls名前空間はどこですか?それはViewプロジェクトや他のどこかでですか? –

+0

これはブートストラッププロジェクトに含まれています。 .Viewプロジェクトはブートストラッププロジェクトにアクセスできず、.Droidプロジェクトは.Viewプロジェクトにアクセスできません。ブートストラップに含まれている場合は、.Viewにアクセスしてビューファイルに追加する必要があります。 .Viewプロジェクトにある場合は、ビューファイルに追加できますが、.DroidプロジェクトはDroidレンダラーのPCLクラスを参照するためにアクセスできません。 –

関連する問題