J'ai une tâche exec msbuild qui appelle un fichier cmd pour configurer ma base de données.VS 2008 Encodage et MSBuild Exec Tâche
J'utilise la tâche exec msbuild comme ceci:
<Exec Command="$(SqlFolder)\Setup\SetupDatabase.cmd $(DBServer) MyDB $(SqlCmdRunner)" IgnoreExitCode="False">
<Output TaskParameter="ExitCode" ItemName="DBSetupExitCode"/>
</Exec>
Dans les cmd de configuration, il utilise osql pour exécuter mes scripts SQL.
Tout va bien, sauf que lorsque je crée un fichier sql (table/proc stocké, etc.) dans VS 2008, l'encodage (UTF-8?) Provoque un problème lorsque je cours depuis MSBuild. Je reçois une erreur de syntaxe incorrecte (près d'un caractère qui ressemble à un U), mais la syntaxe est correcte. Si j'exécute le cmd en dehors de MSBuild cela fonctionne comme prévu. Si je "Save As" le fichier sql et "Save with Encoding" US-ASCII, msbuild ne fera pas d'erreur, c'est pourquoi je pense qu'il s'agit d'un problème de codage. Alors que le "Save As" fonctionne pour l'instant, il semble qu'il devrait y avoir un meilleur moyen. J'imagine que d'autres personnes utilisant MSBuild pour configurer leur DB ont rencontré ce problème, donc à la recherche de conseils/astuces.