Best practices for where to store assemblies?
I'm looking for some guidance where to store assemblies. This is how our source tree looks like at the moment:
ProjectName
trunk |--------src (source code) |--------lib (assemblies needed by every project e.g. NUnit framework, svn external) |--------tools (tools needed by every project e.g. NUnit executable, svn external) |--------ThirdPartyAssemblies (project specific assemblies, e.g. log4net)
We've moved some code to a library of our own which is called Utils.dll.
I'm now wondering where to put this library (literally a good name for the folder) and furthermore other libraries that we write in the future.
ThirdPartyAssemblies
does not seem like the right place (since it's not开发者_运维问答 from a third party), nor does lib
since the assemblies are not needed by every project we create.
Well you could certainly create a "FirstPartyAssemblies" directory if you needed to - but do you definitely need to "store" these assemblies in the first place? Do they come from a different solution? Can you not just use several projects in the same solution, and let VS pull the assemblies in appropriately? You don't have to have all the projects in the same source hierarchy, of course.
Now in many cases you will want to store the assembly - and potentially version it separately etc - but if you can get away without doing so, it'll possibly make your life easier. It really depends on your situation though.
I wouldn't always put the project in the solution, unless you want to take an open-source approach. That could get messy. I always use the name of the company. Like [CompanyName]Utils. That way, you can further break it down if you need to. Like [CompanyName][Domain]Utils or whatever.
精彩评论