I suggest you ...

Integrate ilMerge into .NET exe projects

Microsoft has a tool called ilMerge (http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx). This can merge several assemblies into only one exe file.
A referenced assembly in a DevStudio project should have the additional property "Linking" with the possible values "Dynamic", which has the same behaviour as currently, and "Static" which uses the ilMerge technology to integrate the referenced assembly into the resulting exe file.
With this possibility it is really easy to develop simple (trivial) tools which depent on standard libraries that can easily be deployd.

55 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Jan RiegerJan Rieger shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    6 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Jesse HouwingJesse Houwing commented  ·   ·  Flag as inappropriate

        I agree with Jeff, ILmerge breaks all kinds of Reflection and resource lookups if you're not careful. So it wouldn't work on a lot of solutions out of the box. being able to create an Assembly of Assemblies would be even better. I'd prefer to deploy those as any other dll or exe though.

      • Jörg B.Jörg B. commented  ·   ·  Flag as inappropriate

        Any type of project would be good, not only .exe ones - e.g. I am currently writing custom controls for TFS & they reference other assemblies, however, I'd like to deploy one single control .dll only.

      • Phillip HutchingsPhillip Hutchings commented  ·   ·  Flag as inappropriate

        I'll leave the details to the implementers, but something like this would be a huge benefit for those projects that don't warrant a full deployment effort.

      • Jeff DegeJeff Dege commented  ·   ·  Flag as inappropriate

        Actually, what .NET needs is an equivalent of JAR files.

        We need deployable single-file executables that can contain referenced assemblies. ILMerge breaks assemblies apart and merges their contents into a single assembly, which isn't quite the same thing.

        What we need that JAR files give us is the ability to include referenced assemblies in a single executable file as separate assemblies.

      Feedback and Knowledge Base