Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build DLL to a separate folder

First

There are several questions similar to this, but none have answers that solved my problem nor can I post in them. The closest one is in this question.

I found the answer here. And I am posting here so I can found it later.

The Question: How to build my project and have all my Referenced Library inside a lib sub-folder?

A want this output directory:

Lots of DLLs in the main folder

To be stay like this:

enter image description here

like image 376
D.Kastier Avatar asked Jul 06 '18 13:07

D.Kastier


1 Answers

I found the answer here and transcribed here for the case of the link die.

In your App.config file, insert this:

<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <probing privatePath="lib" />
    </assemblyBinding>
  </runtime>
</configuration>

Then go to Project -> Properties --- right click in your Project, then in the ContextMenu select Properties.

Now go to Build Events and add the following code inside the Post-build event command line text box (as you can see in the bellow image).

; Move all assemblies and related files to lib folder
ROBOCOPY "$(TargetDir) " "$(TargetDir)lib\ " /XF *.exe *.config *.manifest /XD lib logs data /E /IS /MOVE
if %errorlevel% leq 4 exit 0 else exit %errorlevel%

Post-build event command line

After

Build your project and say good bye to your OCD!

like image 56
D.Kastier Avatar answered Oct 08 '22 00:10

D.Kastier