Embedding .Net Runtime

2019-07-17 05:00发布

问题:

Am I able to embed the .net runtime so that .net is not required on the host operating system? I was looking at doing this with Mono by looking here: http://mono-project.com/Embedding_Mono but seems to allude to using external modules to accomplish this. My goal is to have one single executable with no installed .net runtime. I do not know how this would be configured in my application to compile the native code, link the mono runtime- as well as compile the C# code and link that as well?

回答1:

You can now statically compile Mono assemblies as was just demonstrated at PDC. The purpose of doing this was to allow .Net applications to run on the iPhone, but this should work anywhere.

There are some limitations to this; obviously, it can't depend on runtime-generated code, so Reflection.Emit is out.



回答2:

Third-party solution i've used with much success: Xenocode



回答3:

This is not currently supported, and AFAIK there are no plans to change that status.

There are some third party tools out there that try to do this for you, but last time I checked none were very good yet.