I just started working with the Visual Studio 2010 Premium database project. I must say it does indeed rock. One thing I can't figure out is how to avoid the SQL04151 warning
Procedure: [dbo].[MyProc] has an unresolved reference to object [MyDatabase].[dbo].[MyItem].
Did I miss a simple step somewhere? All I can find online involves tempdb.
I need to substitute [MyDatabase].[dbo].[MyTable] with [$(DatabaseName)].[dbo].[MyTable]. This cleared up the warnings.
Thanks for your help.
In your [dbo].[MyProc]
procedure you reference [MyDatabase].[dbo].[MyItem]
which is probably not part of your DB project. Even though the object exists in the DB, it is not known to Visual Studio during compilation and thus yields an error.
Normally you should have the entire DB-schema in the DB-project. Otherwise I think there is something called "partial DB projects" that you can look into.
MS has acknowledged this as a bug they are working on:
Check you have set Build Action to Build on Properties pane for the specified object..
来源:https://stackoverflow.com/questions/2568548/vs-2010-build-database-project-receive-sql04151