VS2010-VS2012运行编译Spring.NET问题解决
入手学习Spring.NET,还好有各位大牛的博客,拿来借鉴学习,实在是受益匪浅,推荐两位的博客,写的Spring.NET,个人觉得不错。
刘冬的博客
Tony
自己动手把Spring.NET源码Down下来了,准备跟着教程,自己动手做一遍,用的是VS2012,做的过程当中,还是遇到很多问题的,有些东西,看起来很简单,做起来总是有一些细节的问题,所以一定还是要动手做的;
自己慢慢梳理了一些小问题,记录下来:
1、关于我们来一起学习Spring.NET的IoC容器对象的创建
方法有好几种,其中一种是使用独立配置文件,使用的对象XML文件定义,也是使用比较多的方法,关于对象XML文件,一般设置为嵌入式资源,即xml编译时作为嵌入资源为最好,其实不设置为嵌入式资源,也是可以的,只要让程序运行时能都读到XML对象文件即可;
1 <spring> 2 <context> 3 <!--Spring中 IOC容器 所使用的对象XML文件定义--> 4 <!--<resource uri="assembly://程序集名/命名空间.文件夹名/资源名" />--> 5 <resource uri="assembly://SharpCode/SharpCode.Config/Objects.xml"/> 6 </context> 7 </spring> 8 </configuration>
2、“Spring.Context.Support.ContextRegistry”的类型初始值设定项引发异常
App.Config中,将下面的代码注释:
<startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>
3、编译Spring.NET时,遇到"未处理的ConfigurationErrorsException"
编译Spring.Core时提示"创建 spring/context 的配置节处理程序时出错: 方法“Spring.Context.Support.ContextHandler.Create(System.Object, System.Object, System.Xml.XmlNode)”是安全透明的,但它是安全关键类型的一个成员",Google一下,按照网上的解决方法,为Create方法和类ContextHandler添加上[SecurityCritical]标签之后,再次编译,又引发了"重写成员时违反了继承安全性规则,重写方法的安全可访问性必须与所重写方法的安全可访问性匹配"的错误,这是因为.NET Framework 4中引入了 2 级透明度。 此模型的三个原则是透明代码、安全可靠关键代码和安全关键代码。具体引发错误的原因,参见:
http://msdn.microsoft.com/zh-cn/library/dd233102.aspx
解决方法很简单,在程序集中添加如下代码:
[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]
重新编译,通过~
未完待续~
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。