Инициализатор типа для "System.Web.Http.GlobalConfiguration" бросил исключение

Я добавил новый проект Web API. Я устанавливаю Cors

PM> Install-Package Microsoft.AspNet.WebApi.Cors -Pre

Затем, когда я запускаю свой проект, я получаю эту ошибку:

Инициализатор типа для "System.Web.Http.GlobalConfiguration" бросил исключение.

Это мое внутреннее исключение:

{ "Попытка методом" System.Web.Http.GlobalConfiguration..cctor() 'to поле доступа 'System.Web.Http.GlobalConfiguration.CS $< > 9__CachedAnonymousMethodDelegate2' не удалось. "}

Ответ 1

Я столкнулся с той же проблемой и нашел в нем сообщение в блоге. Согласно этому сообщению в блоге, если вы используете кандидат на выпуск, он должен исправить ошибку

Install-Package Microsoft.AspNet.WebApi -IncludePrerelease

Отсюда: http://wp.sjkp.dk/webapi-and-cors-enabled-rest-services/

Это сработало для меня: D

Иными словами, он был исправлен в выпуске 5.1.0-rc1.

Ответ 2

У меня была эта проблема с использованием NET 4.6.1, и после нескольких часов исследований удаление этого из web.config наконец-то устранило проблему:

<runtime>
<dependentAssembly>
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
     <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
   </dependentAssembly>
</runtime>

Ответ 3

У меня была та же проблема. Определенно "Корс" не работает со мной!

Что я сделал для решения моей проблемы с Cross Domain в WebApi, это было удаление Cors и изменение моего web.config

Если вы введете следующие строки внутри вашего web.config, у вас будет включен WebApi с включенным кросс-доменом.

<system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, PUT, DELETE" /> </customHeaders> </httpProtocol> </system.webServer>