Неожиданная ошибка компилятора при использовании нового атрибута .NET LibraryImport.C#

Место общения программистов C#
Ответить
Anonymous
 Неожиданная ошибка компилятора при использовании нового атрибута .NET LibraryImport.

Сообщение Anonymous »


Я пытаюсь обновить старый код для поддержки новейших функций .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, но это не помогло.

Что именно не так с моим кодом?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»