错误信息:
The type name or alias IClass could not be resolved. Please check your configuration file and verify this type name.
配置文件 Unity.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="unity" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>
</configSections>
<unity xmlns="http://schemas.microsoft.com/practices/2010/unity">
<alias alias="IClass" type="EntLib5.Unity.IClass,EntLib5.Unity"/>
<alias alias="MyClass" type="EntLib5.Unity.MyClass,EntLib5.Unity"/>
<container name="TestContainer">
<register name="TestRegister" type="IClass" mapTo="MyClass"/>
</container>
</unity>
</configuration>
调用代码:
红色部分报错
var fileMap = new ExeConfigurationFileMap() { ExeConfigFilename = @"E:\Temp\AppDesignTest\AppDesignTest\Unity.config" };
Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
var unitySection = (UnityConfigurationSection)configuration.GetSection("unity");
var container = new UnityContainer().LoadConfiguration(unitySection, "TestContainer");
IClass classInfo = container.Resolve<IClass>("TestRegister");
classInfo.ShowInfo();
我初次使用unity2 请各位达人帮我看看这个简单调用怎么出错的
看代码基本没发现什么问题。感觉配置是正确的,建议贴一下IClass与MyClass的代码
我也遇到了同样的问题,期待高人出现
请问这个问题怎么解决呢?我也遇到了
我也遇到这样的问题,后来把接口和实现接口的类的设置成相同的命名空间后,问题解决!!
同意+1
虽然问题已经过去很久,我还是讲讲我今天遇到的一个问题,就是命名空间中如果带有中文会报这个错误,改成纯英文后就能运行了。。。。。
少引用包了, Unity.Interception.Configuration , 这个也要Nuget一下