none
Microsoft.Practices.Unity与VS2010 RRS feed

  • 问题

  • 环境:vs2010+.net45

    引入dll: Microsoft.Practices.Unity没有问题 ,

    但是在编译code的时候,显示:The type or namespace name 'Practices' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

    2013年12月30日 10:17

答案

  • 我的程序是4.5的...... 

    已经降级到2010并且打开了,

    关于Microsoft.Practices.Unity.dll支持什么.NET版本的我不清楚,第一次接触这个框架的东西,或者你能提供一些文档性的东西吗?

    谢谢你的指导

    再说了,你都”从属性里面看到是 Version: 3.0.1304.0“,你就不能再往下拖动下,看看”运行时版本“?

    你说你下载难,请问,你的 Microsoft.Practices.Unity.dll 是谁给你?谁给你,你就问他给你的 Microsoft.Practices.Unity.dll 的运行时版本是多少。

    • 已标记为答案 hw64220 2014年1月2日 7:52
    2014年1月2日 7:49

全部回复

  • 你是要在Silverlight项目中使用这个命名空间吧。

    需要安装一下Unity Application Block 1.2 for Silverlight

    然后重新再右击项目>添加引用>扩展>Microsoft.Practices.Unity for Silverlight


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年12月31日 9:50
    版主
  • 不是, 我主要用到的是它的类型注入功能就是在console中的一个简单的demo:

            static void Main(string[] args)
            {
                IUnityContainer container = new UnityContainer();
                container.RegisterType<Imonitor, Monitor>();
                container.RegisterType<Inotify, SmsNotify>();

                Object m =  container.Resolve<Imonitor>();
                ((Imonitor)m).alarm();
                Console.ReadKey();
            }

    我把这个dll引入进来是能读到 Microsoft.Practice的,但是一编译就报错:

    The type or namespace name 'Practices' does not exist in the namespace 'Microsoft'

    2013年12月31日 10:06
  •             IUnityContainer container = new UnityContainer();

    是这句编译不通过吗?

    我安装了Unity Application Block 1.2 for Silverlight之后引入以下命名空间编译没有问题:

    using Microsoft.Practices.Unity;


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2013年12月31日 11:49
    版主
  • 谢谢,但是公司的规定不能自己安装程序,所以我没办法验证, 如果不装你推荐的这个插件, 确实是存在这样以一个bug的是吗? 你有相关的官方说明吗
    2014年1月2日 2:47
  • 你在项目的引用中选中 Microsoft.Practices.Unity,然后右键选择“在对象浏览器中查看”。

    你的 Microsoft.Practices.Unity.dll 的版本是多少? 

    你引用的时候是通过“浏览”添加文件的形式引用的吗?

    2014年1月2日 3:35
  • 引用方式: 右键->Add Reference -> Browse -> Add

    对象浏览器中没有版本号,从属性里面看到是 Version: 3.0.1304.0

    2014年1月2日 4:34
  • 引用方式: 右键->Add Reference -> Browse -> Add

    对象浏览器中没有版本号,从属性里面看到是 Version: 3.0.1304.0

    你的 VS2010 是如何创建 .Net 4.5 项目的?

    你去找一个 2.0 或 1.0 的 Unity。

    2014年1月2日 5:09
  • 我的环境是VS2010 + .NET45, 只是为了 看别人用VS2012写的工程;

    要引入Microsoft.Practices.Unity这个DLL,并且正常工作一定要在机器上安装Unity Application Block 这个 msi吗,我直接引这个dll可以吗?

    2014年1月2日 7:08
  • 我的环境是VS2010 + .NET45, 只是为了 看别人用VS2012写的工程;

    要引入Microsoft.Practices.Unity这个DLL,并且正常工作一定要在机器上安装Unity Application Block 这个 msi吗,我直接引这个dll可以吗?

    我恳请你把 VS2012 的工程先降级到 VS2010,然后引用支持 .NET 4.0 及以下版本的 Microsoft.Practices.Unity.dll(更严格的说法是,你的项目的 .NET 版本号,一定不能比 Microsoft.Practices.Unity.dll 支持的版本号小)。

    不用使用 MSI 安装,可以直接拷贝程序集,但是,我再次恳请你记住,.NET 支持向下兼容,不是支持向上兼容。

    你的问题就是,你的项目是 .NET 4.0 或者一下版本的,但是你却引用了一个 .NET 4.5 版本的程序集。

    2014年1月2日 7:24
  • 我的程序是4.5的...... 

    已经降级到2010并且打开了,

    关于Microsoft.Practices.Unity.dll支持什么.NET版本的我不清楚,第一次接触这个框架的东西,或者你能提供一些文档性的东西吗?

    谢谢你的指导

    2014年1月2日 7:35
  • 还有,奇怪的是我的Framework 是45的,为什么我不能用Microsoft.Practices.Unity 3.0呢? 

    单独的Microsoft.Practices.Unity.dll 2.0下载好难找......  我的机器不能自己安装东西, 好心的大哥能提供一个吗

    2014年1月2日 7:38
  • 我的程序是4.5的...... 

    已经降级到2010并且打开了,

    关于Microsoft.Practices.Unity.dll支持什么.NET版本的我不清楚,第一次接触这个框架的东西,或者你能提供一些文档性的东西吗?

    谢谢你的指导

    我恳请你都没有用啊!!!!!

    我再次恳请你在你的项目上点击鼠标右键,在弹出的菜单上选择“属性”,在“属性”页面上选择“应用程序”,现在请你诚实的告诉我,“目标框架”中的内容是什么?

    2014年1月2日 7:45
  • 大哥别激动...我理解你的意思, 你的意思是VS2010只能识别到.NET 4.0及以前的东西是吗? 和我本机安装的Framework无关
    2014年1月2日 7:49
  • 我的程序是4.5的...... 

    已经降级到2010并且打开了,

    关于Microsoft.Practices.Unity.dll支持什么.NET版本的我不清楚,第一次接触这个框架的东西,或者你能提供一些文档性的东西吗?

    谢谢你的指导

    再说了,你都”从属性里面看到是 Version: 3.0.1304.0“,你就不能再往下拖动下,看看”运行时版本“?

    你说你下载难,请问,你的 Microsoft.Practices.Unity.dll 是谁给你?谁给你,你就问他给你的 Microsoft.Practices.Unity.dll 的运行时版本是多少。

    • 已标记为答案 hw64220 2014年1月2日 7:52
    2014年1月2日 7:49
  • 大哥别激动...我理解你的意思, 你的意思是VS2010只能识别到.NET 4.0及以前的东西是吗? 和我本机安装的Framework无关

    你要理解我的意思,你也就不会再问我VS2010是否只能识别到.NET 4.0及以前的东西。因为我前面的话已经将的很清楚,向下兼容,而且我还很肯定的告诉你你的问题是因为“4.0的项目引用了 4.5 的程序集”。你再问我一次,无非就是不相信我说的话。那你等微软给你官方答复吧!

    2014年1月2日 7:54
  • 谢谢, .NET 没怎么接触过, 教育的好~
    2014年1月2日 7:54