I´ve built a simple REST server with Grapevine which runs perfectly with windows environment. Now I want to run the .exe (with the Grapevine.dll) in an Docker Container with mono. My Dockerfile looks like this:
FROM mono:latest
COPY . /boerse
RUN output="$(curl http://169.254.169.254/latest/meta-data/public-hostname)"
CMD [ "mono", "/boerse/Boerse.exe", "$output" ]
When the Docker container starts, following error message occurs:
Error: System.TypeLoadException: Could not load type 'Grapevine.Interfaces.Server.HttpListener' from assembly 'Grapevine, Version=4.0.0.195, Culture=neutral, PublicKeyToken=null'.
at Boerse.BoersenApplication.Main (System.String[] args) [0x0002f] in <407ced228a394aa7b9fc2fa883a239a9>:0
TypeRef ResolutionScope not yet handled (57) for .ExtendedProtectionSelector in image /boerse/Grapevine.dll
Could not load signature of Grapevine.Interfaces.Server.HttpListener:get_ExtendedProtectionSelectorDelegate due to: Could not resolve type with token 0100003a assembly: type:ExtendedProtectionSelector member:<none>
TypeRef ResolutionScope not yet handled (57) for .ExtendedProtectionSelector in image /boerse/Grapevine.dll
Could not load signature of Grapevine.Interfaces.Server.IHttpListener:get_ExtendedProtectionSelectorDelegate due to: Could not resolve type with token 0100003a assembly: type:ExtendedProtectionSelector member:<none>
All the needed DLL´s are copied into the container. Anybody knows how to run Grapevine in a Docker container or what I am doing wrong?