System.webserver имеет недопустимый дочерний элемент «cors»

#c# #asp.net #web-config

#c# #asp.net #web-config

Вопрос:

Это завершенный проект моей команды, но я не знаю, почему я это получаю. cors в web.config

В моем config.cs. Это уже включает cors. cors уже установлен в пакете Nuget:

 public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
        
        SystemDiagnosticsTraceWriter traceWriter = config.EnableSystemDiagnosticsTracing();
        traceWriter.IsVerbose = true;
        traceWriter.MinimumLevel = TraceLevel.Debug;

        // Enable Web API routes by attribute
        config.MapHttpAttributeRoutes();

        EnableCorsAttribute cors = new EnableCorsAttribute("*","*","*");
        config.EnableCors(cors);
    }
  

Комментарии:

1. Какие документы вы прочитали, чтобы предложить поместить этот cors элемент в этот web.config?

2. Нет, это завершенный проект, который я клонировал из своего репозитория team. Но они сказали, что для них это нормально.

3. Вы установили модуль? learn.microsoft.com/en-us/iis/extensions/cors-module /…

4. Да, я установил.

5. Возможно, перезагрузите свой компьютер, поскольку он не думает, что у вас есть.

Ответ №1:

У нас такое же поведение с несколькими нашими решениями Visual Studio 2022 и VS Code. Похоже, что Visual Studio IntelliSense не обновляется при установке пакета Cors NuGet, поэтому это предупреждение отображается при просмотре файла web.config. Однако он работает должным образом, если решение опубликовано в экземпляре IIS, на котором установлены необходимые расширения. Обратите внимание, что в выходных данных сборки также не отображается предупреждение.