2014-04-22 2 views
1

Je souhaite ajouter un projet de base de données à la solution, mais des références de base de données à d'autres bases de données que je ne souhaite pas inclure dans la solution.Visual Studio 2013 View a une référence non résolue à l'objet

Le studio visuel recueille 84 erreurs. Je pensais que, la solution la plus simple est d'ignorer les erreurs de construction et d'avertissement à ce projet de base de données, mais je n'ai pas trouvé et solution.

Le projet de base de données est-il inutile, si je développe beaucoup d'applications avec beaucoup de bases de données, qui sont en relation quelque part?

Que puis-je faire maintenant?

+0

Pourquoi avoir des références dans une base de données vers une autre base de données mais ne pas les avoir dans la solution? –

+0

J'ai répondu à cette question, lisez ci-dessous. – Concware

+0

@ Kyle-Hale Probablement la base de données référencée existe déjà, et ils n'ont pas l'option de la recréer avec SSDT. Je suppose que c'est le scénario le plus probable dans le monde réel (en dehors des laboratoires Microsoft). –

Répondre

2

Le plus simple est d'extraire un dacpac de ces bases de données référencées et de les exclure en tant que références de base de données. Vous ne tenterez pas de les créer/publier par défaut, mais ils vous permettront de continuer.

J'ai dû utiliser SQLPackage.exe pour extraire le dacpac car je ne pouvais pas toujours le faire via les interfaces SSMS ou VS s'il y avait beaucoup de dépendances. J'ai écrit mon processus sur mon blog: http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html

+0

J'ai essayé de créer un fichier dacpac par la commande Extract Data-Tier Application dans SQL Management Studio, mais il a échoué et affiche une fenêtre d'erreur contenant un nombre similaire de messages d'erreur que le titre de la question: "View a unrolved reference to object" . Etes-vous sûr, il n'y a pas d'autre choix que de référencer toutes les bases de données par référence à la base de données? Il y a beaucoup de bases de données de référencement, ça peut prendre quelques heures pour les référencer ... :( – Concware

+0

Ajouter les références ne prend pas trop de temps, les mettre dans un endroit visible par le projet (même dossier ou dossier "partagé" au-dessus de tous vos projets) et ajoutez une référence DB pointant vers le fichier - même serveur, base de données différente, n'utilisez rien dans la partie "nom de la variable" Vous aurez probablement besoin de le créer à partir de la ligne de commande SQLPackage (voir ci-dessus blog post pour un exemple de la façon de le faire.) Cela devrait prendre quelques minutes pour générer les dacpacs et une minute ou deux pour ajouter chaque référence DB. –

1

J'ai trouvé la réponse pour simplement BUILD le projet de base de données "référencé" dans la solution Visual Studio. Le problème semble être lié à l'utilisation de références d'un projet de base de données à un autre et le projet de base de données référencé a changé et n'a pas été créé récemment. VS semble garder une référence interne basée sur le projet de base de données "construit" plutôt que sur la version actuelle de la source. J'espère que cela pourra aider.

Questions connexes