Инициализатор типа для "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>