DLL reference not copying into project bin

21,853

The options that I found were to:

  • Add a reference to PostSharp in Project A.
  • Add dummy code in Project B so that the compiler would detect that the reference is being used.
  • Add a build event to force copy the DLL.

I don't like any of the above solutions. They are hacks in my opinion and will only make for a more unmaintainable solution in the long run.

I have fixed the problem by using a common output directory. This seems to be a recommended solution by many. I have also experienced much faster build times. See this Stackoverflow post.

Share:
21,853
Dave New
Author by

Dave New

Updated on July 09, 2022

Comments

  • Dave New
    Dave New almost 2 years

    Project A references Project B, and Project B references an external DDL (restored using NuGet). The DLL should get copied into Project A's bin folder (along with Project B's DLL):

    DLL References Copied To Bin

    In my case, when running Project A, I get the following exception thrown:

    Could not load file or assembly 'PostSharp, Version=3.2.18.0, Culture=neutral, PublicKeyToken=b13fd38b8f9c99d7' or one of its dependencies. The system cannot find the file specified.

    The DLL is not being copied into Project A's bin. All other external references from Project B are being copied across just fine, which is what is confusing for me.

    Copy Local is set to true for all references involved. Example:

    Copy Local Reference

    How do I do this?

    Note: Using Visual Studio 2013.

  • majjam
    majjam about 8 years
    I also found the dll needed to be using the same version of the .net framework
  • pilsdumps
    pilsdumps over 7 years
    In my case, one project used the Client profile rather than full version of .net framework 4. Changing to the full version fixed the issue.