Xamarin Forms UnityServiceLocator名前空間が見つかりませんでした(Unity Dependency Injection&IOCコンテナ) -- c# フィールド と unity3d フィールド と xamarin フィールド と xamarin.forms フィールド と unity-container フィールド 関連 問題

In Xamarin Forms UnityServiceLocator namespace not found (Unity Dependency Injection & IoC containers)












0
vote

問題

日本語

XAMARIN形式の「UnityServiceLocator」の名前空間を見つけることができないため、Unity Container(Unity Dependency Injection& IOCコンテナ)を実装している間に問題に直面しています。

var unityServiceLocator = new UnityServiceLocator(コンテナ)でエラーを出しています。

エラーCS0246:タイプまたはネームスペース名 'UnityServiceLocator'が見つかりませんでした(ディレクティブまたはアセンブリリファレンスを使用していますか?)

Visual Studio 2019を使用して.NET Framework 2.1を使用しています。

nu-getパッケージのインストールを次のようにします。

Unity(5.11.7)

COMMONSEROCOROT(2.0.5)

Xamarin.ESSINDINGS(1.3.1)

xamarin.forms(4.7.0.1.1080)

<事前> <コード> using System; using TestXamarinMVVM.Services; using TestXamarinMVVM.View; using Unity; using CommonServiceLocator; using Xamarin.Forms; using Xamarin.Forms.Xaml; namespace TestXamarinMVVM { public partial class App : Application { public static UnityContainer Container { get; private set; } public App() { InitializeComponent(); Container = new UnityContainer(); Container.RegisterType<IProductService, ProductService>(); **var unityServiceLocator = new UnityServiceLocator(Container);** ServiceLocator.SetLocatorProvider(() => unityServiceLocator); //MainPage = new PersonDispaly(); MainPage = new ProductPage(); } protected override void OnStart() { } protected override void OnSleep() { } protected override void OnResume() { } } }

私は私が間違いをしているのかわかりません!私を助けてください。

英語

I am facing the problem while implementing the Unity Container (Unity Dependency Injection & IoC containers) for not able to find the namespace for "UnityServiceLocator" in Xamarin Form.

I am getting the error at var unityServiceLocator = new UnityServiceLocator(Container);

error CS0246: The type or namespace name 'UnityServiceLocator' could not be found (are you missing a using directive or an assembly reference?)

I am using the .Net Framework 2.1 using Visual Studio 2019.

Nu-get Package Install as :

Unity (5.11.7)

CommonServiceLocator(2.0.5)

Xamarin.Essentials(1.3.1)

Xamarin.Forms(4.7.0.1.1080)

using System;  using TestXamarinMVVM.Services; using TestXamarinMVVM.View; using Unity; using CommonServiceLocator; using Xamarin.Forms; using Xamarin.Forms.Xaml;  namespace TestXamarinMVVM {     public partial class App : Application     {         public static UnityContainer Container { get; private set; }          public App()         {             InitializeComponent();              Container = new UnityContainer();             Container.RegisterType<IProductService, ProductService>();              **var unityServiceLocator = new UnityServiceLocator(Container);**             ServiceLocator.SetLocatorProvider(() => unityServiceLocator);               //MainPage = new PersonDispaly();             MainPage = new ProductPage();         }          protected override void OnStart()         {         }          protected override void OnSleep()         {         }          protected override void OnResume()         {         }     } } 

I do not know where I am doing the mistake! Please help me.

</div
              
 
 

回答リスト

1
 
vote

Unityに次のパッケージを追加する必要があります。

  1. unity
  2. commonServiceLocator
  3. Unity.ServiceLocation
 

You need to add the following packages for unity.

  1. Unity
  2. CommonServiceLocator
  3. Unity.ServiceLocation
</div
 
 
0
 
vote

これを行う最新の方法は、これに示す以下の例。あなたはいくつかのエラーをしたことに気付くでしょう:

<事前> <コード> public App() { InitializeComponent(); //Init UnityContainer UnityContainer unityContainer = new UnityContainer(); unityContainer.RegisterType<IProductsService, ProductsService>(); var unityServiceLocator = new UnityServiceLocator(unityContainer); ServiceLocator.SetLocatorProvider(() => unityServiceLocator); MainPage = new ProductsPage(); }

しかし、次のステートメントを使用して次のように追加するのを忘れました。これは、NUGETパッケージを追加する必要がある可能性があります。

<事前> <コード> using Unity.ServiceLocation; using UnityIoCContainer.Interfaces; using UnityIoCContainer.Services; using UnityIoCContainer.Views;
 

The most recent way of doing this is shown in this example below. You will notice that you did make a few errors:

    public App()     {         InitializeComponent();          //Init UnityContainer         UnityContainer unityContainer = new UnityContainer();         unityContainer.RegisterType<IProductsService, ProductsService>();          var unityServiceLocator = new UnityServiceLocator(unityContainer);         ServiceLocator.SetLocatorProvider(() => unityServiceLocator);          MainPage = new ProductsPage();     } 

But you also forgot to add the following using statements, which means you likely need to add more nuget packages:

using Unity.ServiceLocation; using UnityIoCContainer.Interfaces; using UnityIoCContainer.Services; using UnityIoCContainer.Views; 
</div
 
 

関連する質問

0  Unityのために解決されるべきすべてのコンストラクタパラメータをインタフェースに置くべきですか?  ( Should i put all the constructor parameters in the interface to be resolved for ) 
私はIOCを実行するためにUnityでプリズムを使っています。私はそれらのコンストラクタ内の値型のパラメータ(例えば、文字列パス、int number)を持ついくつかのクラスを持っています。 これらのクラスを解決したい場合は、これらのパラメータをどのように対...

1  httpruntime.Cacheオブジェクトazure WeBrole OnStartに保存されたときにNULL  ( Httpruntime cache object null when saved within azure webrole onstart ) 
私は私のWCFサービスを使っていますdi ただし、// TODOセクションでIUnityContainerを初期化する方法はわかりません。 私は試した(そして失敗した) 変数 IUnityContainer container publicおよびsta...

9  Unityコンテナの解決  ( Unity container resolve ) 
Unity Containerから始めて、私の登録は次のようになります: <事前> <コード> static void UnityRegister() { _container = new UnityContainer(); _con...

3  Unityマッピングの問題  ( Unity named mapping issue ) 
IEmailService の2つの実装は、テスト用のものとライブ用のもの(IS-A)の2つの実装を持っています。そして、 BusinessService を持っている IEmailService 参照があります。 <事前> <コード> Business...

2  WCF用の完全なDIサンプルが必要です  ( Need complete di sample for wcf ) 
誰もがWCFのための完全で作業のDIサンプルを持っていますか? every sample i < / a> 私をもっと混乱させる。組み込みのものと協力している完全で働くスタンドアロンのシンプルなサンプルを知っていますか? 多分私は一度建てられた...

3  Unityベースのアプリケーションでの起動時間が遅い  ( Slow startup time with unity based application ) 
Unityを使用するコンソールアプリケーションを持っています。 app.configで、私はデフォルトのコンテナに登録されている20またはそれが登録されています。 アプリケーションの起動(初期出力を見始めるまで)Unityのないコンソールアプリケーションと比...

2  依存関係がインスタンス化できない場合にデバッグする方法  ( How to debug when a dependency fails to instantiate ) 
依存関係がインスタンス化されていない場合は、依存性注入(Unity DIを使用)のデバッグをどのようにデバッグしますか? 依存関係を持つサービスクラスを与えられる: <事前> <コード> public class FooService : IFooServic...

1  Unity.Buildupは曖昧さを不可能にすることができません  ( Unity buildup unable to disambiguate ) 
私は2つのコンストラクタを持つクラスを持っていますが、両方のコンストラクタには1つのパラメータがあります。説明の価値がないため、コンストラクタを変更することも、子孫クラスを使用することはできません。 Unityは同じ数のパラメータを持つ2つのコンストラクタを...

22  Unityクラスのデフォルトコンストラクタを使用していません  ( Unity not using the default constructor of the class ) 
このクラスを持っています: <事前> <コード> public class Repo { public Repo() : this(ConfigurationManager.AppSettings["identity"], Configura...

0  UnityをASP.Netで使用した依存密度注入  ( Dependency injection using unity in asp net ) 
私はかなり簡単な設定をしています。 <事前> <コード> namespace ObjectNamespace { public class CustomProcessor : ICustomProcessor<myObject> { ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有