我能让它工作。我使用您使用的相同名称空间创建了一个演示控制台应用程序,如下所示:
安装的Nuget包:
<?xml version=“1.0”encoding=“utf-8”?gt;
<软件包>
<package id=“Unity”version=“5.8.6”targetframework=“net461”/>
<package id=“Unity.Abstractions”version=“3.3.0”targetframework=“net461”/>gt;
<package id=“unity.configuration”version=“5.2.3”targetframework=“net461”/>gt;
</packages>
应用程序配置:
<?xml version=“1.0”encoding=“utf-8”?gt;
<配置>
<配置部分>
<section name=“Unity”type=“microsoft.practices.unity.configuration.unity配置节,unity.configuration”/>
</configSections>
<unity xmlns=“http://schemas.microsoft.com/practices/2010/unity”>
<assembly name=“UnityExample”/>
<namespace name=“UnityExample.Service”/>
<容器>
<container name=“服务”>
<register type=“iproductService”mapto=“productService”/>
</container>
</containers>
</Unity>
<启动>
<supportedRuntime version=“v4.0”sku=“NetFramework,version=v4.6.1”/>
</startup>
<运行时>
<assemblybinding xmlns=“urn:schemas-microsoft-com:asm.v1”>
<dependentassembly>
<assemblyIdentity name=“Unity.configuration”publicKeyToken=“6d32f45e0ccc69f”culture=“neutral”/>gt;
<bindingRedirect oldversion=“0.0.0.0-5.2.3.0”newversion=“5.2.3.0”/>gt;
</DependentAssembly>
</assemblybinding>
</runtime>
</configuration>
代码:
命名空间UnityExample.service
{
公共接口IProductService
{
}
公共类ProductService:IProductService
{
}
}
主:
使用system.configuration;
使用microsoft.practices.unity.configuration;
使用统一;
使用UnityExample.Service;
命名空间单元示例
{
课程计划
{
静态void main(string[]args)
{
var container=new unitycontainer();
UnityConfigurationSection部分=(UnityConfigurationSection)ConfigurationManager.GetSection(“Unity”);
配置(容器,“服务”);
iproductService service=container.resolve<iproductService>();
}
}
}
安装的Nuget包:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Unity" version="5.8.6" targetFramework="net461" />
<package id="Unity.Abstractions" version="3.3.0" targetFramework="net461" />
<package id="Unity.Configuration" version="5.2.3" targetFramework="net461" />
</packages>
应用程序配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection, Unity.Configuration"/>
</configSections>
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<assembly name="UnityExample" />
<namespace name="UnityExample.Service" />
<containers>
<container name="Service">
<register type="IProductService" mapTo="ProductService"/>
</container>
</containers>
</unity>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Unity.Configuration" publicKeyToken="6d32ff45e0ccc69f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
代码:
namespace UnityExample.Service
{
public interface IProductService
{
}
public class ProductService : IProductService
{
}
}
主营:
using System.Configuration;
using Microsoft.Practices.Unity.Configuration;
using Unity;
using UnityExample.Service;
namespace UnityExample
{
class Program
{
static void Main(string[] args)
{
var container = new UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");
section.Configure(container, "Service");
IProductService service = container.Resolve<IProductService>();
}
}
}