Closed gimi87 closed 4 years ago
Can you show what says -pe-exp-list <module>
command?
Also I hope you're using modified modules in related x86 + x64 folders instead of original in ~\bin.
Log:
PS D:\Documents\Visual Studio 2019\Projects\ClassLibrary1> .\DllExport.bat -pe-exp-list bin\Debug\netstandard2.1\ClassLibrary1.dll
PS D:\Documents\Visual Studio 2019\Projects\ClassLibrary1> .\DllExport.bat -pe-exp-list bin\Debug\netstandard2.1\x86\ClassLibrary1.dll
PassThruClose
PassThruConnect
PassThruDisconnect
PassThruGetLastError
PassThruIoctl
PassThruOpen
PassThruReadMsgs
PassThruReadVersion
PassThruSetProgrammingVoltage
PassThruStartMsgFilter
PassThruStartPeriodicMsg
PassThruStopMsgFilter
PassThruStopPeriodicMsg
PassThruWriteMsgs
PS D:\Documents\Visual Studio 2019\Projects\ClassLibrary1> .\DllExport.bat -pe-exp-list bin\Debug\netstandard2.1\x64\ClassLibrary1.dll
PassThruClose
PassThruConnect
PassThruDisconnect
PassThruGetLastError
PassThruIoctl
PassThruOpen
PassThruReadMsgs
PassThruReadVersion
PassThruSetProgrammingVoltage
PassThruStartMsgFilter
PassThruStartPeriodicMsg
PassThruStopMsgFilter
PassThruStopPeriodicMsg
PassThruWriteMsgs
PS D:\Documents\Visual Studio 2019\Projects\ClassLibrary1>
I'm trying to use from the x86 folder, because 32-bit is required :)
@gimi87, Thanks for the details about issue!
I don't know about "DLL Export Viewer" tool, but our -pe-exp-list indicates normal export as you can also see it from your log.
Can you help me to fill that table with your tool?
You need to contact with developers of the mentioned "DLL Export Viewer" tool if some records are not displayed from the following modules:
I know that it is 3rd party tool. I just wanted to show that something is not properly addressed, because when I open this exported library from the application which is trying to import and use those methods I have "Access violation (c0000005)". So I guess not everything is exported correctly. Maybe I'll wait for some updates in the meantime. But thanks anyway.
which is trying to import and use those methods I have "Access violation (c0000005)"
@gimi87, You can also try solution from issue #132. Or try netfx. Let me know about result.
I could not get a .NET Standard 2.1 assembly to be callable from native code without access violations. Simply switching to .NET Standard 2.0 made it work, but only after I also set the following project properties, which I took from the Example repository (which is also only targeting .NET Standard 2.0):
DllExportOurILAsm
to true
DllExportSysObjRebase
to true
DllExportPatches
to 1
@3F I may have missed that info elsewhere, but is .NET Standard 2.1 even meant to be supported at this time? As said in my above comment, I could not get it to work, it only throws access violations when trying to call the exported functions from native code.
I can accept a sample project if you like.
@RayKoopa,
Please read #132 as I mentioned above.
For today I implemented rebasing only for system objects: https://github.com/3F/DllExport/issues/125#issuecomment-561245575 Others can be considered later: https://github.com/3F/DllExport/issues/132#issuecomment-574264394
For better support and most known behavior with 1.7.0, netstandard2.0
or netcoreapp2.2
is recommended.
Follow the news!
Thanks for the information! netcoreapp2.2
seems pretty fine for me right now as all I was missing in netstandard2.0
are several Span
methods.
Hello :)
I guess I have a simple problem with the DllExport. I have
netstandard2.1
project and I'm running theDllExport 1.7.0
version and I'd like to export functions.This is my csproj:
sample class:
build log:
After that I have a program called "DLL Export Viewer" to check that export is correct and file is generating proper function table and my list is empty: Similar library from 3rd party is looking like this:
What I'm doing wrong? Can you help me to fill that table with your tool?