2017-07-27 1 views
0

J'utilise Visual Studio 2015 et j'ai un projet SQLServer, ce que je veux c'est que chaque fois que je construis le projet, il est automatiquement publié sur le serveur sql. Dans TFS, nous pouvons l'atteindre en suivant Mettre à jour la définition de construction -> Processus -> arguments MSBuild ->/t: Construire/t: Publier/p: SqlPublishProfilePath = fichierPath.publish.xml Sur le PC local, nous pouvons utiliser la commande suivante pour réaliser la tâche msbuild ProjectName.sqlproj/t: build/t: Publier /p:SqlPublishProfilePath=filePath.publish.xmlPublication automatique du projet sql server après chaque build sur VS2015

Mais comment pouvons-nous mettre à jour la définition de construction du projet de sorte que lorsque je construis sur mon locale machine, il est publié automatiquement sans utiliser la ligne de commande

Répondre

0

comment pouvons-nous mettre à jour la définition de construction du projet de sorte que lorsque je le construis sur ma machine locale, il est publié automatique iquement sans utiliser la ligne de commande

Pour cela, déchargez votre projet, éditez le fichier de projet ProjectName.sqlproj. Puis, à la fin du projet, juste avant la balise de fin </Project>, le lieu ci-dessous les scripts:

<Target Name="DeployDB" AfterTargets="build"> 
    <Message Importance="high" Text="************** Star Deploying DB **************"/> 
    <Message Importance="high" Text="Deploying Project: $(MSBuildProjectDirectory)$(MSBuildProjectName).sqlproj" /> 
    <Message Importance="high" Text="Deployment Profile: $(MSBuildProjectDirectory)PublishProfiles$(MSBuildProjectName).publish.xml" /> 

    <MSBuild Projects="$(MSBuildProjectDirectory)$(MSBuildProjectName).sqlproj” Properties=”SqlPublishProfilePath=$(MSBuildProjectDirectory)PublishProfiles$(MSBuildProjectName).publish.xml" Targets="sqlPublish" /> 
</Target> 

Vous pouvez utiliser certains MSBuild Reserved and Well-Known Properties comme $ (MSBuildProjectName) et (MSBuildProjectDirectory) $, pour une liste complète

BTW, publication automatique va vous ralentir, et vous n'avez probablement pas besoin de publier pour chaque build. Sous cette condition, vous pouvez ajouter un Condition pour cette cible afin que vous choisissiez si vous avez besoin de publier automatiquement le projet de serveur sql après chaque génération (N'oubliez pas d'ajouter une configuration avec LocalAutoDeploy).

<Target Name="DeployDB" AfterTargets="build" Condition="'$(Configuration)' == 'LocalAutoDeploy'">