I am trying to work around NuGet's source control limitations.
To that end I need to know a bit more about how NuGet works. Let’s take a simple example. Say I have a project and I add AutoMapper to it. When I add it, where is the DLL file supposed to be put?
I ask because it does not seem to be consistent. Sometimes the reference is looking for the DLL file the "Packages" folder:
And sometimes it is looking in the Debug build output folder:
But in both cases the AutoMapper line in the packages.config
file is the same:
First example:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
Second example:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NSubstitute" version="1.1.0.0" />
<package id="AutoMapper" version="1.1.0.118" />
<package id="CommonServiceLocator" version="1.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
So what is controlling where it sets up up the reference to? And how do I make it just use the Packages Location?
(When it uses the Debug output folder those references fail if you to compile for "Release".)
Frustrated Note: I have to admit that I am finding NuGet to be a cool idea, but it is not ready for anything but simple situations. (I am thinking about just going back to having a library folder with all my DLL files in it.)
I can't help but wonder if I am missing something because NuGet has such wide spread adoption. There must be some way to make this work...