FIX: Deployment was not performed for this project because it is a dependent project

Scenario:
Trying to deploy multiple SharePoint solutions from Visual Studio you are getting the following error:
Deployment was not performed for this project because it is a dependent project

You probably have a helper/utility project defined SharePoint project but with an empty package:




Fix:
Open the Configuration Manager (right click on the solution file in Solution Explorer and select Configuration Manager ...)
Clear the Deploy checkbox for your project.

FIX: Error occurred in deployment step 'Recycle IIS Application Pool': Exception has been thrown by the target of an invocation.

Scenario:
Trying to deploy a SharePoint 2010 solution from Visual Studio 2012 you get this error:
Error occurred in deployment step 'Recycle IIS Application Pool': Exception has been thrown by the target of an invocation.

Output:

------ Deploy started: Project: Helpers, Configuration: Debug Any CPU ------
Deployment was not performed for this project because it is a dependent project.
------ Deploy started: Project: SiteColumns, Configuration: Debug Any CPU ------
Active Deployment Configuration: No Activation
Run Pre-Deployment Command:
  Skipping deployment step because a pre-deployment command is not specified.
Recycle IIS Application Pool:
Error occurred in deployment step 'Recycle IIS Application Pool': Exception has been thrown by the target of an invocation.
========== Build: 1 succeeded, 0 failed, 1 up-to-date, 0 skipped ==========
========== Deploy: 1 succeeded, 1 failed, 0 skipped ==========

Background:
I am referencing some DLL files located in the "..\..\Binaries\Sharepoint" custom folder (this section in the *.csproj was generated by Visual Studio when I added references through the UI):
  <ItemGroup>
    <Reference Include="Microsoft.SharePoint.Linq, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
      <HintPath>..\..\Binaries\SharePoint\Microsoft.SharePoint.Linq.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SharePoint.Publishing, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c, processorArchitecture=MSIL">
      <HintPath>..\..\Binaries\SharePoint\Microsoft.SharePoint.Publishing.dll</HintPath>
    </Reference>
    ...
  </ItemGroup>

Fix:
I removed the highlighted parts of the *.csproj above (version, culture, public key token and processor architecture), ending up with this:
  <ItemGroup>
    <Reference Include="Microsoft.SharePoint.Linq">
      <HintPath>..\..\Binaries\SharePoint\Microsoft.SharePoint.Linq.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.SharePoint.Publishing">
      <HintPath>..\..\Binaries\SharePoint\Microsoft.SharePoint.Publishing.dll</HintPath>
    </Reference>
    ...
  </ItemGroup>

Add custom DLL to deployment package

Scenario:
You have a custom (helper) DLL that you need to include in your deployment. As this is not a SharePoint solution you cannot deploy the same way you would to with a webpart for example.

Solution:
In Visual Studio, open your solution package:

Select the Advanced tab:

Add your DLL in the dialog: