Неожиданная ошибка компилятора при использовании нового атрибута .NET LibraryImport. ⇐ C#
-
Anonymous
Неожиданная ошибка компилятора при использовании нового атрибута .NET LibraryImport.
Я пытаюсь обновить старый код для поддержки новейших функций .NET 7, а именно LibraryImport, но у меня возникают проблемы с ошибками, которых нет у других. Все примеры, которые я могу найти, требуют, чтобы метод был одновременно статическим и частичным, но без extern он требует реализации.
#if NET7_0_OR_GREATER [LibraryImport("kernel32")] общедоступный статический частичный IntPtr LoadLibrary (строка fileName); [LibraryImport("kernel32")] общедоступный статический частичный IntPtr GetProcAddress (модуль IntPtr, строка procName); [LibraryImport("kernel32")] общедоступный статический частичный int FreeLibrary (модуль IntPtr); #еще Ошибка следующая: «Частичный метод 'IntPtr LoadLibrary(string)' должен иметь часть реализации, поскольку у него есть модификаторы доступности.» Единственное только что удаленное предложение partial и добавили общую реализацию, которая при вызове выдавала исключение.
Сначала я думал, что у меня проблемы, поскольку мой проект поддерживает несколько платформ, но ошибка сохранялась и в новом консольном приложении .NET 7. Я даже пробовал использовать другую IDE, но это не помогло.
Что именно не так с моим кодом?
Я пытаюсь обновить старый код для поддержки новейших функций .NET 7, а именно LibraryImport, но у меня возникают проблемы с ошибками, которых нет у других. Все примеры, которые я могу найти, требуют, чтобы метод был одновременно статическим и частичным, но без extern он требует реализации.
#if NET7_0_OR_GREATER [LibraryImport("kernel32")] общедоступный статический частичный IntPtr LoadLibrary (строка fileName); [LibraryImport("kernel32")] общедоступный статический частичный IntPtr GetProcAddress (модуль IntPtr, строка procName); [LibraryImport("kernel32")] общедоступный статический частичный int FreeLibrary (модуль IntPtr); #еще Ошибка следующая: «Частичный метод 'IntPtr LoadLibrary(string)' должен иметь часть реализации, поскольку у него есть модификаторы доступности.» Единственное только что удаленное предложение partial и добавили общую реализацию, которая при вызове выдавала исключение.
Сначала я думал, что у меня проблемы, поскольку мой проект поддерживает несколько платформ, но ошибка сохранялась и в новом консольном приложении .NET 7. Я даже пробовал использовать другую IDE, но это не помогло.
Что именно не так с моим кодом?
Мобильная версия