2016-12-19 1 views

Répondre

0

J'ai lutté avec celui-ci pendant quelques heures et finalement corrigé ensemble une réponse de quelques sources différentes (Certainement pas tout à moi). Ce code va juste avant la balise de fin de votre fichier csproj. Vous ne pouvez pas modifier les événements après publication via l'EDI. Ainsi, le nom cible = "AfterPublish" ne se déclenche qu'après l'événement de publication et non la génération. Le code ci-dessous saisit la version des applications. La commande utilise l'application SQLCMD.exe pour exécuter les requêtes.

<Target Name="AfterPublish"> 
    <GetAssemblyIdentity AssemblyFiles="$(TargetPath)"> 
     <Output TaskParameter="Assemblies" ItemName="Targets" /> 
    </GetAssemblyIdentity> 
    <ItemGroup> 
     <VersionNumber Include="@(Targets->'%(Version)')" /> 
    </ItemGroup> 
    <Exec Command="&quot;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe&quot; -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASENAME -Q &quot;UPDATE [TABLENAME] SET [COLUMNNAME] = '@(VersionNumber)'&quot;" /> 
    </Target> 

évidemment remplacer les paramètres de lettre majuscule avec vos propres paramètres et utiliser " où jamais les guillemets doubles sont nécessaires dans les citations de commande (Dans ce cas, autour du chemin de fichier pour SQLCMD et la requête elle-même.

espoir cela aide