Я получаю предупреждение компилятора о моем проекте ASP.Net Core (2.1):
предупреждение CA1014: Пометить сборки с CLSCompliant
Это предупреждение выдается Анализатором CodeAnalysis (я использую версию 1.1.0-beta008).
Я уже добавил файл "AssemblyInfo.cs" в тот же проект, содержащий эту единственную строку кода:
[assembly: System.CLSCompliant(false)]
Тем не менее, я вижу, что для этого проекта сгенерировано ДВА DLL: ожидаемый {projectname}.dll
, но также {projectname}.Views.dll
.
Используя ILSpy, я могу подтвердить, что атрибут применяется к {projectname} .dll, но не применяется к {projectname} .Views.dll - что, несомненно, вызывает это предупреждение.
Добавление того же самого AssemblyInfo.cs в папку Views приводит к ошибке: CS0579 Дублируйте атрибут «System.CLSCompliant». Очевидно, что DLL-библиотека Views не содержит «все в папке Views», а содержит только скомпилированные файлы cshtml.
Добавление этого атрибута (например) в _ViewStart.cshtml не приводит к допустимому синтаксису.
Так как я могу применить этот атрибут специально к представлениям?
Обратите внимание, что я могу удалить предупреждение, понизив строгость правила CA1014 (Зависимости> Анализаторы> Microsoft.CodeQuality.Analyzers), но я бы скорее "решил" это, чем "скрыл" его.