C# 在Xamarin表单中未找到UnityServiceLocator命名空间(Unity依赖项注入和IoC容器)
我在实现Unity容器(Unity Dependency Injection&IoC容器)时遇到了一个问题,因为在Xamarin表单中找不到“UnityServiceLocator”的名称空间 我在var unityServiceLocator=new unityServiceLocator(容器)处得到错误强> 错误CS0246:找不到类型或命名空间名称“UnityServiceLocator”(是否缺少using指令或程序集引用? 我正在使用Visual Studio 2019使用.Net Framework 2.1 Nu get软件包安装为: 统一(5.11.7) CommonServiceLocator(2.0.5) Xamarin.基本要素(1.3.1) Xamarin.表格(4.7.0.1.1080)C# 在Xamarin表单中未找到UnityServiceLocator命名空间(Unity依赖项注入和IoC容器),c#,unity3d,xamarin,xamarin.forms,unity-container,C#,Unity3d,Xamarin,Xamarin.forms,Unity Container,我在实现Unity容器(Unity Dependency Injection&IoC容器)时遇到了一个问题,因为在Xamarin表单中找不到“UnityServiceLocator”的名称空间 我在var unityServiceLocator=new unityServiceLocator(容器)处得到错误 错误CS0246:找不到类型或命名空间名称“UnityServiceLocator”(是否缺少using指令或程序集引用? 我正在使用Visual Studio 2019使用.Net Fr
使用系统;
使用TestXamarinMVVM.Services;
使用TestXamarinMVVM.View;
统一使用;
使用CommonServiceLocator;
使用Xamarin.Forms;
使用Xamarin.Forms.Xaml;
命名空间TestXamarinMVVM
{
公共部分类应用程序:应用程序
{
公共静态UnityContainer容器{get;private set;}
公共应用程序()
{
初始化组件();
容器=新的UnityContainer();
Container.RegisterType();
**var unityServiceLocator=新的unityServiceLocator(容器)**
ServiceLocator.SetLocatorProvider(()=>unityServiceLocator);
//MainPage=newpersondispaly();
MainPage=新产品页();
}
受保护的覆盖void OnStart()
{
}
受保护的覆盖void OnSleep()
{
}
受保护的覆盖void OnResume()
{
}
}
}
我不知道我在哪里犯了错误!请帮帮我。最新的方法是。您会注意到您确实犯了一些错误:
public App()
{
InitializeComponent();
//Init UnityContainer
UnityContainer unityContainer = new UnityContainer();
unityContainer.RegisterType<IProductsService, ProductsService>();
var unityServiceLocator = new UnityServiceLocator(unityContainer);
ServiceLocator.SetLocatorProvider(() => unityServiceLocator);
MainPage = new ProductsPage();
}
您需要为unity添加以下包
这些东西可能会继续得到支持吗?看起来它的支持率很不稳定。它过去是由微软发布的一个软件包,现在是一个开源软件包,需要单独安装才能工作?看起来有点古怪。
public App()
{
InitializeComponent();
//Init UnityContainer
UnityContainer unityContainer = new UnityContainer();
unityContainer.RegisterType<IProductsService, ProductsService>();
var unityServiceLocator = new UnityServiceLocator(unityContainer);
ServiceLocator.SetLocatorProvider(() => unityServiceLocator);
MainPage = new ProductsPage();
}
using Unity.ServiceLocation;
using UnityIoCContainer.Interfaces;
using UnityIoCContainer.Services;
using UnityIoCContainer.Views;