Tue, February 15, 2005, 01:25 PM under
MobileAndEmbedded
Alternative title: "Discovery of the day, link.exe"
Recall how at the Beta 1 timeframe we saw CF 2.0 add
support for multi-file assemblies? If not, please go and
read it, as the content here builds on that (here based on November CTP).
a) Follow steps 1, 2 and 3 from that post (adjusting the path to [drive letter]\Program Files\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\Debugger\BCL).
b) Change step 4 by typing
/t:module
just before
ProgramMixed.cs
You now have two files (Form1Mixed.netmodule & ProgramMixed.netmodule) but, instead of one of them being an
exe
and the other a
netmodule
, they are both netmodules. Recall from step 5 that running the exe would work only if the netmodule accompanied the exe (hence the talk of
multi-file assemblies).
c) Now, enter the following at the command line:
link /LTCG /verbose /entry:MixedLanguages.Program.Main /out:SingleFile.exe Form1Mixed.netmodule ProgramMixed.netmodule /subsystem:windows
The result is a single executable that contains the IL from both netmodules (that you recall were written in two different languages)! And we didn't even have to use
ilmerge.
[This blog entry was inspired by this post]