2012-11-29 730 views
0

我有一個項目,完全安裝並用nHibernate成功測試過,我試圖用Visual Studio 2010以調試模式運行。在設置log4net之前運行該項目顯然運行良好,但添加了引用log4net的組件,適當的行詮釋幅\ global.asax文件,並在web.config文件結果的配置參數在下面的錯誤nHibernate Log4Net日誌記錄異常

繼承安全規則而重寫構件違反:「log4net.Util.ReadOnlyPropertiesDictionary .GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)'。覆蓋方法的安全性可訪問性必須與被覆蓋的方法的安全性可訪問性相匹配。

在線路

配置配置=新配置()配置()。

在下面的代碼塊

public static ISessionFactory SessionFactory; 
    public static ISession OpenSession() 
    { 
     if (SessionFactory == null) //not threadsafe 
     { //SessionFactories are expensive, create only once 
      Configuration configuration = new Configuration().Configure(); 
      configuration.AddAssembly(Assembly.GetCallingAssembly()); 
      SessionFactory = configuration.BuildSessionFactory(); 
     } 
     return SessionFactory.OpenSession(); 
    } 

我該指南明確地發出以下

Configure Log4Net for use with NHibernate從NHibernate的項目。

+0

您使用的是.Net 4嗎? http://stackoverflow.com/questions/3055792/inheritance-security-rules-violated-while-overriding-member-securityruleset-le可能適用。 – stuartd

+0

我正在使用.Net 4嘗試測試解決方案,嘗試啓用代碼分析與安全設置與[啓用代碼分析](http://msdn.microsoft.com/en-us/library/e05a02t4(v = vs。 80).aspx),但在菜單欄上選擇我的Web項目時沒有「網站」。你知道如何訪問這個設置嗎? – sammarcow

+0

我不確定。你使用的是.Net 4版本的log4net嗎?哪個版本? – stuartd

回答

0

詳細的你應該下載的log4net的1.2.11版本。它包含一個針對.NET 4.0的程序集,其中包含比只有一個屬性更多的固定內容。