"I have a solution in Visual Studio 2005 that has a web project (ASP.NET) and some other projects that produce class libraries. These other projects are added as references to the web app directory. When i build (in Visual Studio) a "bin" folder is created in the web app directory and all the various .dll files are added into this directory. When i build my solution using msbuild.exe the files are not copied into the bin directory. I know i could create a project that only copies all the compiled dll files into the bin folder of the web app but this feels like a workaround. Is there a generally accepted best practice for accomplishing this?"
The "answer" was to use post build events. Although that will work, that does not explain why some dependent DLLs get copied and some do not. Is there a real solution to this problem? Is there a way to predict which DLLs will be copeid and which ones won't? I s there a way to coerce MSBuild to copy all of the dependent DLLs?
In my case I have a soluton with 33projects. When it builds, the output from 2 projects is NOT being copie to the bin\debug folder of the EXE project.
Hi, You can not use "msbuild.exe" to get all the sub(other) projects dll copied into your main project. Best way is to use Pre and Post Builds or a Batch file which is going to do the same one by one.
Some porjects gets copied...see the project propeties of the project, might be the path might have hard coded.
You basically told me what I already knew which was to use post build events as a work around.
Your other ideas was a plug for your product.
What I am looking for is an answer as to why MS BUild automatically copies the output from some dependent projects but not others. I have analyzed the dependency chains and there is no pattern. There are 38 projects in my solution. 36 of them are all part of a common dependency tree. Why would the ouput of 33 of them get copied over but the output for the other three seem to be ignored?