Я пытаюсь использовать модуль «cards.dll», чтобы создать визуальную карточную игру, и я не могу понять, несмотря на все ошибки в Googling I возможно думаю. У меня есть DLL-файл (203 024 байта), но я запутался в «регистрации» как .NET или COM-сборке. Я пробовал:Пытаюсь использовать cards.dll на 64-битной Windows 10
- добавив его в качестве ссылки (внутри Visual Studio 2015)
Явное загрузки это
Ассамблея а = Assembly.LoadFile (@ "/ cards.dll") ;
с результатом: Модуль, как ожидается, содержит манифест сборки. (Исключение из HRESULT: 0x80131018)
Я скопировал DLL в C: \ Windows \ System32 и C: \ Windows \ SysWOW64, но безрезультатно.
Я запускаю это (или, по крайней мере, пытаюсь) на 64-битной машине Windows 10 с ядром i5.
Есть много библиотек DLL вокруг, которые не COM сервер, так что не содержит библиотеку типов и не являются .NET сборки, поэтому не содержат метаданные. Используйте Dumpbin.exe/exports, чтобы узнать, содержит ли он какие-либо экспортированные функции, которые вы можете вызывать. И в VS используйте File> Open> File и выберите DLL, чтобы увидеть, содержит ли он какие-либо неуправляемые ресурсы. Вероятно, растровые изображения. Кто-то владеет авторским правом на это, позвоните им. –
dumpbin не показывает экспортированные товары. Вот что показывает Visual Studio: http://prntscr.com/d36tvb Я не думал, что это будет загадочный файл - он рекламируется как файл DLL, в котором используются стандартные игры, такие как Solitaire. –
Cards.dll скорее всего не является библиотекой COM. Это, скорее всего, стандартная DLL, которая не требует регистрации. Если, конечно, это было переписано совершенно без причины в последнее время, потому что это было задолго до того, как .NET даже существовал. Он также не содержит экспорта, поскольку он не содержит никаких функций, что было бы еще одним аргументом против его переписывания. Это полный набор ресурсов (изображений), но не исполняемый код, как показывает ваш dumpbin (см. Запись .rsrc). –