views:

232

answers:

4

This is all hypothetical, so please bear with me.

Say I'm writing a tool in C# called Foo. The output is foo.exe. I've found some really great library that I like to use called Bar, which I can reference as bar.dll in my project. When I build my project, I have foo.exe and bar.dll in my output directory. Good so far.

What I'd like to do is link foo.exe and bar.dll so they are one assembly, foo.exe. I would prefer to be able to do this in VS2008, but if I have to resort to a command-line tool like al.exe I don't mind so much.

+7  A: 

There's ILMerge. Link

ageektrapped
+1  A: 

Check out the ILMerge tool found here.

Abe Heidebrecht
+3  A: 

Set up a post-build event under Project Properties:

ilmerge /out:$(TargetDir)foo.exe $(TargetPath) $(TargetDir)bar.dll

Claus Thomsen
+1  A: 

Thanks everyone who answered!

I ended up with NuGenUnify which provides a GUI wrapper for ilmerge.