我有一個msbuild exec任務,調用一個cmd文件來設置我的數據庫。VS 2008編碼和MSBuild執行任務
我使用的MSBuild EXEC任務是這樣的:
<Exec Command="$(SqlFolder)\Setup\SetupDatabase.cmd $(DBServer) MyDB $(SqlCmdRunner)" IgnoreExitCode="False">
<Output TaskParameter="ExitCode" ItemName="DBSetupExitCode"/>
</Exec>
在設置CMD,它使用OSQL運行我的SQL腳本。
一切都很好,除了當我在VS 2008中創建一個sql文件(表/存儲過程等..)時,編碼(UTF-8?)從MSBuild運行時導致問題。我收到一個不正確的語法錯誤(接近一個看起來像U的字符),但語法正確。如果我在MSBuild之外執行cmd,它將按預期工作。
如果我「另存爲」SQL文件和「保存與編碼」US-ASCII,msbuild不會錯誤,這就是爲什麼我認爲這是一個編碼問題。
雖然「另存爲」現在可行,但似乎應該有更好的方法。我會想象其他人使用MSBuild安裝他們的數據庫已經遇到了這個問題,所以尋找建議/提示。