Мне нужно сослаться на DLL-файл C++ в проекте, и я всегда говорил об этом именно так.
Код: Выделить всё
[LibraryImport("Karel")]
private static partial uint VikeyFind(ref uint pdwCount);
Я попробовал выполнить код шаг за шагом и обнаружил что когда программа дойдёт до этого момента
Код: Выделить всё
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.Interop.LibraryImportGenerator", "9.0.11.2809")]
[global::System.Runtime.CompilerServices.SkipLocalsInitAttribute]
private static partial uint VikeyFind(ref uint pdwCount)
{
uint __retVal;
// Pin - Pin data in preparation for calling the P/Invoke.
fixed (uint* __pdwCount_native = &pdwCount)
{
__retVal = __PInvoke(__pdwCount_native);
}
return __retVal;
// Local P/Invoke
[global::System.Runtime.InteropServices.DllImportAttribute("Karel", EntryPoint = "VikeyFind", ExactSpelling = true)]
static extern unsafe uint __PInvoke(uint* __pdwCount_native);
}
Код: Выделить всё
__retVal = __PInvoke(__pdwCount_native);
Я не знаю, в чем проблема. Я попробовал откатить версию до .Net8, и программа работала нормально.
Я не уверен, является ли это ошибкой или есть ли какие-либо изменения в LibraryImport в .Net 9. Может быть Подскажите, пожалуйста, в чем проблема?
PS: Моя версия .NET 9 SDK — 9.0.100
Подробнее здесь: https://stackoverflow.com/questions/791 ... ng-in-net9
Мобильная версия