I have a Visual Studio 2010 solution that is configured to build in Debug x86. Thus, Visual Studio sets the output path to \ bin \ x86 \ Debug, which seems logical enough.
The solution contains about 50 projects; launch project - WCF project.
When I do the assembly, I expect all the output DLLs to go to \ bin \ x86 \ Debug, since this is what is set in the project settings. But strange, I see that dlls are created in bin \ x86 \ Debug and in \ bin. Why did Visual Studio put any DLL in \ bin if the output path was not set to this directory? It seems that all dlls are sent to \ bin \ x86 \ Debug, and all dlls , with the exception of the startup project , go to \ bin. Any idea why this is so? (We have other solutions that do not use WCF, and they do not have this problem.)
Another annoyance is that if I started the service from Visual Studio and then try to access my service in a web browser by going to http: // localhost: 1240 / MyService.svc , this will not work, since in / bin missing startup project dll. Therefore, I need to manually copy this DLL from \ bin \ x86 \ Debug to \ bin so that all the DLL files are found and the service works fine. (We could, of course, add a custom post-build step that makes a copy, but you would think there would be a better way!)
For those of you who work on WCF projects, do you leave the output path in \ bin \ x86 \ Debug? (Perhaps there is a way to configure the service, for example, in the web.config or .svc file so that it knows that the binaries are in \ bin \ x86 \ Debug instead of \ bin?) Or do you change the output path to \ bin so that you could start your service directly from Visual Studio?
source
share