This is go proxy wrapped for .NET 2.0. Repo contains golang part and c# part.
- .NET MS Visual Studio debugger conflicts with GO Crash Handler.
So in order to work it normally you have to apply a small patch to go runtime.
In file
c:\Go\src\runtime\signal_windows.go, line154or whatever path you have add
// lastcontinuehandler is reached, because runtime cannot handle
// current exception. lastcontinuehandler will print crash info and exit.
//
// It is nosplit for the same reason as exceptionhandler.
//
//go:nosplit
func lastcontinuehandler(info *exceptionrecord, r *context, gp *g) int32 {
if testingWER {
return _EXCEPTION_CONTINUE_SEARCH
}
return _EXCEPTION_CONTINUE_SEARCH //this is new line. We had to pass all of this to .NET handler so debugging would work in MSVS- Custom certificate should be placed in the same directory as dll file with names
cert.pemandkey.pem - C header with all APIs you can see in
proxy.hfile - To build this library just run
build.bat - Compiled dll is placed to
testapp/proxy.dll - All interaction samples are place into
Form1.cs - Path to Dll can be altered in
GoproxyWrapper.Constclass - All wrapper classes is placed into
app/GoproxyWrapper
- golang runtime
- mingw-w64
- https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools#nugetexe-cli