Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Причина
Проект <VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility> настроен, а для одной или нескольких ссылочных сборок атрибут IsAotCompatible метаданных сборки не задан как true.
Описание правила
При публикации с использованием Native AOT и отметке проекта как AOT-совместимого с помощью <PublishAot>true</PublishAot> или <IsAotCompatible>true</IsAotCompatible>, можно также включить проверку того, что все ссылочные сборки также аннотированы для совместимости с AOT. Это помогает гарантировать, что все зависимости вашего проекта помечены для совместимости с AOT.
Задайте свойству VerifyReferenceAotCompatibility значение true в файле проекта, чтобы включить эту проверку.
<PropertyGroup>
<PublishAot>true</PublishAot>
<VerifyReferenceAotCompatibility>true</VerifyReferenceAotCompatibility>
</PropertyGroup>
Если это свойство включено, анализатор проверяет, что все <IsAotCompatible>true</IsAotCompatible> сборки, на которые есть ссылка, были собраны с этим свойством, что добавляет атрибут [assembly: AssemblyMetadata("IsAotCompatible", "True")] уровня сборки в сборку.
Example
// Assembly reference: MyLibrary.dll (built without <IsAotCompatible>true</IsAotCompatible>)
public class Program
{
public static void Main()
{
var obj = new MyLibrary.SomeClass();
}
}
warning IL3058: Referenced assembly 'MyLibrary' is not built with `<IsAotCompatible>true</IsAotCompatible>` and may not be compatible with AOT.
Устранение нарушений
Это предупреждение можно исправить несколькими способами:
- Если вы управляете исходным кодом библиотеки, обновите созданную библиотеку.
<IsAotCompatible>true</IsAotCompatible>СвойствоIsAotCompatibleпомечает сборку как совместимую с Native AOT и включает выполнение анализа, специфичного для AOT. Это предпочтительный подход. - Если вы уверены, что библиотека правильно работает с Native AOT даже без атрибута, отключите проверку, настроив
<VerifyReferenceAotCompatibility>false</VerifyReferenceAotCompatibility>в файле проекта.