Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Missing files on deploy when using NuGet packages
-
We are trying to deploy an ASP.NET MVC4 .NET4.5 Web Application to our production server. When building the package on our testing server, the "NuGet Install Packages" extension automatically downloads and installs the missing packages needed.
For obvious reasons, we can not have "NuGet Install Packages" run on our production servers. How do we include the DLL's that NuGet downloaded/installed in the "bin" folder of our application.
There are many packages that are missing when it comes to deployment.
-
You should capture a build artifact, and then deploy that build artifact to testing and production.
Check out some of the specifics (http://inedo.com/specifics) to see how this is best accomplished.
-
The steps we are using are:
- Get Latest from SVN
- Install NuGet Packages
- Build .NET Project
- Create Build Artifact
- Deploy Build Artifact
All of these execute successfully.
However, when we look at the deployed files, there are numerous missing dll files.
-
So to see where the problem lies we installed a program called Team City. This is a rather rudimentary system in comparison to Buildmaster but it served as a good test.
So we ran our project though and the artifact in the end contained all the necessary dlls we have been missing with Buildmaster.
One thing that could be a clue is that TeamCity uses MsDeploy, also known as Web Deploy. This nailed 2 headaches we haven't managed to complete with Buildmaster.
- It analysed the config transforms and spat out the correct config for us.
- It included all the DLL's
Is this something we can mimic in Buildmaster easily?
We will try and get this going via the "execute command line" until in buildmaster. But that is a task for tomorrow. We don't have much more time to get this going.
-
Can you try to use the "Build .NET Project" without checking "this is a web application"?
Then, capture the artifact from _PublishedWebsites\project.name instead?
This is how we solve this problem when we build proget (see http://inedo.com/specifics/proget), and we'll soon be adding another option for this action.