求高手帮忙
该引用的.dll都引用了
报错:
未能从程序集“mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”中加载类型“System.Reflection.IntrospectionExtensions”。
C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Unity;
using Microsoft.Practices.Unity.Configuration;
using System.Configuration;
namespace test2
{
interface Car
{
string GetSize();
}
public class SmallCar : Car
{
#region
public string GetSize() { return "我是小车"; }
#endregion
}
public class BigCar : Car
{
#region
public string GetSize() { return "我是大车"; }
#endregion
}
public class Program
{
static void Main(string[] args)
{
Car sc = getContainer().Resolve<SmallCar>("small");
Car bc = getContainer().Resolve<BigCar>("big");
string smallMsg = sc.GetSize();
string bigMsg = bc.GetSize();
Console.WriteLine(smallMsg);
Console.WriteLine(bigMsg);
Console.ReadKey();
}
static IUnityContainer getContainer()
{
IUnityContainer myContainer = new UnityContainer();
UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("car");
return section.Configure(myContainer, "myContainers");
}
}
}
配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="car" type="Microsoft.Practices.Unity.Configuration.UnityConfigurationSection,Microsoft.Practices.Unity.Configuration"/>
</configSections>
<unity>
<typeAliases>
<typeAlias alias="car" type="test1.Car,test1"/>
<typeAlias alias="smallCar" type="test1.SmallCar,test1"/>
<typeAlias alias="bigCar" type="test1.BigCar,test1"/>
</typeAliases>
<containers>
<container name="myContainers">
<types>
<type type="car" mapTo="smallCar" name="small"/>
<type type="car" mapTo="bigCar" name="big"/>
</types>
</container>
</containers>
</unity>
</configuration>
------解决方案--------------------dll文件存在,但是不是需要的dll,名字一样,但里面东西不一样
------解决方案--------------------http://msdn.microsoft.com/zh-cn/library/hh138368%28v=vs.110%29.aspx
------解决方案--------------------
mscorlib这是.NET放在GAC里面的DLL。是不是你用的框架需要其他高版本的.NET?安装一下试试。
如果是windows 8 则需要安装低版本。。。3.5 sp1 和 4.0
------解决方案--------------------进来看看 或许有你要的答案
------解决方案--------------------这个问题 很明显 ,一般是加载 .net 4.0 时候的没有加载成功。