日期:2014-05-20  浏览次数:20964 次

求高手帮忙
该引用的.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 时候的没有加载成功。