Why doesn't Microsoft provide a compiler that will turn IL into machine code? After all, Ngen is provided already and so why doesn't it have the ability to be used at the developers machine instead of at every users machine. Since all users running MS software use the same X86 family of processors then why is the Ngen compilation to machine code performed only at time of install? Why cannot it be done at time of development, like with all other apps?
If security is the issue then Ngen at the user's machine has the same limitations, ie. it produces a native executable and not an assembly which can be varified at runtime. But code signing has aleviated the security issues. Why can't a developer sign his assembly and compile it native code before distributing it.
There is should be a simple reason.