Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 VS 2008编码和MSBuild执行任务_Visual Studio 2008_Encoding_Msbuild - Fatal编程技术网

Visual studio 2008 VS 2008编码和MSBuild执行任务

Visual studio 2008 VS 2008编码和MSBuild执行任务,visual-studio-2008,encoding,msbuild,Visual Studio 2008,Encoding,Msbuild,我有一个msbuild exec任务,它调用cmd文件来设置我的数据库 我使用的msbuild exec任务如下所示: <Exec Command="$(SqlFolder)\Setup\SetupDatabase.cmd $(DBServer) MyDB $(SqlCmdRunner)" IgnoreExitCode="False"> <Output TaskParameter="ExitCode" ItemName="DBSetupExitCode"

我有一个msbuild exec任务,它调用cmd文件来设置我的数据库

我使用的msbuild exec任务如下所示:

    <Exec Command="$(SqlFolder)\Setup\SetupDatabase.cmd $(DBServer) MyDB $(SqlCmdRunner)" IgnoreExitCode="False">
        <Output TaskParameter="ExitCode" ItemName="DBSetupExitCode"/>
    </Exec>

在setup cmd中,它使用osql运行我的sql脚本

一切正常,除了在VS2008中创建sql文件(表/存储过程等)时,从MSBuild运行时,编码(UTF-8?)会导致问题。我收到一个不正确的语法错误(靠近一个看起来像U的字符),但语法是正确的。如果在MSBuild之外执行cmd,它将按预期工作

如果我将sql文件“另存为”并使用US-ASCII“编码保存”,msbuild将不会出错,这就是为什么我认为这是一个编码问题


虽然“另存为”目前还有效,但似乎应该有更好的方法。我可以想象,其他使用MSBuild设置数据库的人遇到了这个问题,因此正在寻找建议/提示。

这确实是一个奇怪的问题。解决方法是更新VisualStudio2008用于创建SQL文件的模板格式。只需在记事本中打开它们并另存为ANSI(或unicode,以您喜欢的为准)。从那时起,当您在VisualStudio中创建新的SQL文件时,它将自动获得正确的编码

您将在此目录下找到五个需要更新的.SQL文件:
C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\Templates\Database项目项