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
, line154
or 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.pem
andkey.pem
- C header with all APIs you can see in
proxy.h
file - 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.Const
class - 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