title: Visual Studio 2010 Database Project - Unresolved Reference to a Synonym
body: <p>We have a couple of synonyms that are being used to reference tables in a separate database (that's on the same server).</p>
  
  <p>The actual synonyms are fine, but the stored procs/user defined functions that reference said synonyms show the following error:</p>
  
  <pre><code>Error   13  SQL03006: Column: [dbo].[GetCocosIndexSearched].[User ID] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [dbo].[AuditType].[e]::[LOGIN_ID], [dbo].[EMPLOYEES].[e]::[LOGIN_ID], [dbo].[EMPLOYEES].[LOGIN_ID] or [dbo].[SearchCIBirthsRequest].[e]::[LOGIN_ID].    C:\VSTS\Corporate\WARS Audit\MAIN\Source\RBDM.Audit.Database\Schema Objects\Schemas\dbo\Programmability\Functions\GetCocosIndexSearched_1.function.sql  21  5   RBDM.Audit.Database
  </code></pre>
  
  <p><code>[dbo].[GetCocosIndexSearched]</code> is a function and <code>[dbo].[EMPLOYEES]</code> is the synonym.</p>
  
  <p>These all work fine in the actual database itself - the problem lies solely with the database project. I've tried adding a reference to the separate database (either through a new database project or a database project schema), but then have conflict issues with the synonym and reference table:</p>
  
  <pre><code>Error   7   SQL04105: The model already has an element that has the same name dbo.EMPLOYEES.    C:\VSTS\Corporate\WARS Audit\MAIN\Source\RBDM.Audit.Database\Schema Objects\Schemas\dbo\Synonyms\EMPLOYEES.synonym.sql  2   1   RBDM.Audit.Database
  </code></pre>
  
  <p>Any ideas? There's a workaround mentioned in another stackoverflow post that talks about placing the creation scripts in <code>Script.PostDeployment.sql</code> - sounds a bit too hacky to me.</p>