9

我想建立一個asp.net web api 2.0應用程序使用VS 2012和asp網絡工具與2012年。 Net 4.5.2框架;當我嘗試運行該應用程序時,在覆蓋成員時違反了繼承安全規則:'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()'。覆蓋方法的安全性可訪問性必須與被覆蓋的方法的安全性可訪問性相匹配。重寫成員時違反了繼承安全規則:'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()'

我試圖更新所有包在溶液中,加入[裝配:SecurityRules(SecurityRuleSet.Level1)]或[裝配:SecurityRules(SecurityRuleSet.Level2)],但沒有人似乎工作。

請幫我解決這個問題我嘗試了所有以前的線程,但都沒有工作。

在此先感謝。

編輯下面是在我的Web API項目

  1. Autofac.3.5.2
  2. Autofac.Configuration.3.3.0
  3. Autofac.Extras引用金塊包的列表。 DynamicProxy2.3.​​0.7
  4. Autofac.WebApi.3.1.0
  5. AutoMapper.4.2.1
  6. Castle.Core.3 .3.3
  7. Microsoft.AspNet.Mvc.5.2.3
  8. Microsoft.AspNet.Razor.3.2.3
  9. Microsoft.AspNet.Web.Optimization.1.1.3
  10. Microsoft.AspNet.WebApi.5.2 0.3
  11. Microsoft.AspNet.WebApi.Client.5.2.3
  12. Microsoft.AspNet.WebApi.Core.5.2.3
  13. Microsoft.AspNet.WebApi.WebHost.5.2.3
  14. Microsoft.AspNet .WebPages.3.2.3
  15. Microsoft.Web.Infrastructure.1.0.0.0
  16. Moq.4.5.8
  17. Newtonsoft.Json.8.0.3
  18. WebGrease.1.6.0
+0

你爲什麼在部分信任下運行你的網站?自從.NET 4.0開始,微軟就放棄了對ASP.NET中所有內容的部分信任支持,所以你不必期望得到來自與ASP.NET集成的庫的維護者的支持。 – Steven

+0

嗨史蒂文,感謝您的回覆,我如何在完全信任模式下運行應用程序?我在web.config中也沒有看到任何設置。 – muvvala

+0

您是否試圖將Autofac 4 beta與經典的ASP.NET結合使用? [可能與這個已知問題類似的問題。](https://github.com/autofac/Autofac.Mvc/issues/10)。我們還沒有爲Autofac 4更新的經典集成庫。 –

回答

19

您需要使用Autofac.WebApi2包使用最新的經典Web API in the docs。 Autofac.WebApi2的當前發行版本是3.4.0。

+1

謝謝@TravisIIIig我刪除了所有的AutoFac nuget軟件包,並且只添加了AutoFac和AutoFac.Integration.WebAPI nuget軟件包 – muvvala

+4

首先'uninstall-package Autofac.WebApi -force'然後'install-package Autofac.WebApi2' :) – Jalal