none
Referencing different versions of the same dll that are not signed. Is ILMerge the answer? RRS feed

  • Question

  • Hi!

    I've read this

    http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/7c5f8e83-3657-41ae-9012-729257e923e3/

    and other posts but not sure if my situation is the same.

    We develop and ship a component that relies on a set of 3rd party components that utilize IoC (nHibernate, Spring.NET, Log4NET and many others). We are still in dark ages and only recently were able to upgrade to .NET 2.0. The components we use cannot be touched and upgraded for legal reasons(too long of a story to tell). I cannot strong sign them or modify them in any way.

    Our clients, however, are on .NET 4.0 and use later versions of the same 3rd party components. We recommend that our dll's to be kept in a separate folder to avoid overriding.

    I guess my question is whether I can do anything so our clients can reference both (our unsigned 3rd party dll's and the newer 3rd party dll's) in the same project. I am looking at ILMerge to combine our dll's into one but not sure whether it's possible and whether I can reference the combined dll containing references to nHibernate, Spring and others and reference clients' dll's?

    Any ideas/help/suggestions are greatly appreciated.

    Many thanks in advance,

    --Mike

    Wednesday, November 14, 2012 9:27 PM

Answers

  • Private assembly deployment does not require the assemblies to be signed, or to be written in managed code (for example you can have multiple versions of Visual C++ dlls deployed privately). You reference the assembly normally in Visual Studio but deploy it to the private folders in your installer. In your manifest there is no need of a public key token for your unsigned assembly.

     


    Visual C++ MVP

    • Marked as answer by mikezat Tuesday, November 20, 2012 12:28 AM
    Friday, November 16, 2012 9:37 PM

All replies