Почему этот библиотека не может компилироваться в .net?C#

Место общения программистов C#
Ответить
Anonymous
 Почему этот библиотека не может компилироваться в .net?

Сообщение Anonymous »

Следующий код будет компилироваться в Visual Studio, но если я попытаюсь скомпилировать его на dotnetfiddle.net (который, по -видимому, использует Dotnet, поскольку это среда выполнения Linux), я получаю следующую ошибку: < /p>

ошибка компиляции, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u, u Часть реализации, поскольку в ней есть модификаторы доступности

Единственный способ получить его для компиляции на DotnetFiddle - это удалить частичный и Mark RepenFile как Extern . Однако это не компилируется в Visual Studio, создавая следующую ошибку: < /p>

Метод 'repenfile' должен быть «статичным», «частичным» и не генерическим, когда помечен «LibraryImportAttribute». P/invoke источник генерации будет игнорировать метод «repenfile '

В обеих средах я использую .net 9.
internal static partial class Win32
{
[LibraryImport("kernel32.dll", SetLastError = true)]
public static partial SafeFileHandle ReOpenFile(
IntPtr hOriginalFile,
uint dwDesiredAccess,
uint dwShareMode,
uint dwFlagsAndAttributes
);

public const uint GENERIC_READ = 0x80000000;
public const uint GENERIC_WRITE = 0x40000000;

public const uint FILE_SHARE_READ = 0x00000001;
public const uint FILE_SHARE_WRITE = 0x00000002;

public const uint FILE_FLAG_OVERLAPPED = 0x40000000;
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... ile-in-net
Ответить

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

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

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

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

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