When deploying an asp.net mvc web site an assembly is not being copied to the output directory of the publish process.
I've tested this w/ asp.net web forms and asp.net mvc 3 sites.
Steps to recreate:
Create a new web site. (Web Site)
Create a new class library. (Project A)
Create a second class library. (Project B)
Reference Project A into the Web Site.
Reference Project B into Project A.
Right click on Web Site project and select Publish.
Select "Publish method" as File System.
Select a "target location".
Click Publish button.
Upon completion, open destination folder and observe Project B.dll is missing.
Reference Project B into Web Site.
This is not ideal as it gives direct access to the Project B functionality, database access in our case, to the web site. If someone goes rouge, they can potentially write database manipulation in the web site's click event.