Not sure what you are asking here. ILMerge lets you package all your assemblies into one assembly. Did you mean you want to package the .NET assemblies too so that the end user doesn't need .NET installed? It would probably work but would be very large, and duplicate assemblies that might already exist on the users computer.
i want make my program works without installing .net frame work i want it portable
size of program is not important
Then try it, not sure what I could tell you that isn't in the documentation.
C# is not particulary portable, even if you use Mono on *nix systems. Convert your code to C++ and it will become much more portable... Or at least compilable.