Four recommendations:
1) Look at the areas, perhaps, instead of individual projects, are these really different components of the same system (admin, etc.)?
2) Use the addition of an existing element in visual studio and add elements via links. This still duplicates them for deployment, but you can keep one source.
3) Think about it by creating your own nuget package. That way, although you would copy the CSS and images that you would have packaged, and you could update the package as needed. The advantage is that you can update one project without relearning another (if they are separate and 1) not applicable).
4) I find it uglier than the rest, but in IIS I believe that you can display them in folders, so you can link to these files by links in your project, rather than deploying them there, and then display them in the corresponding folder at deployment time using a single source path.
I do not know how to split the path to the application.
EDIT:
I have never tried this before, so I can not vouch for its work, but it is possible to compile your common elements in a separate project, and then refer to the DLL in all other projects.
The link I found is this, but again, I have not confirmed that this works, just think that this could be a viable way to learn:
http://www.chrisvandesteeg.nl/2010/11/22/embedding-pre-compiled-razor-views-in-your-dll/
Mirko source share