SQL Server 2012 をターゲットとする Visual Studio 2010 のデータベース プロジェクトがあり、ストアド プロシージャの少なくとも 1 つで、エラーを再スローするための新しい構文 ("THROW;") が使用されています。
次のようにコマンドラインからプロジェクトをビルドしようとしています:
msbuild /t:Build MyDatabaseProject.dbproj
これを出力します:
Microsoft (R) Build Engine Version 4.0.30319.1
[Microsoft .NET Framework, Version 4.0.30319.269]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 28.08.2012 13:14:23.
Project "F:\My\Path\MyDatabaseProject.dbproj" on node 1 (Build target(s)).
DspBuild:
Creating a model to represent the project...
Loading project files...
Building the project model and resolving object interdependencies...
Validating the project model...
F:\MY\PATH\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\SOMEPROC.PROC.SQL(95,3,95,3): Build error SQL02010: Incorrect syntax near THROW. [F:\My\Path\MyDatabaseProject.dbproj]
...
私の推測では、SQL Server 2012 T-SQL 方言を指定するパラメーターを追加する必要がありますが、これについてはわかりません。
Visual Studio からのプロジェクトのビルドは問題なく機能します。
更新: 私が持っているプロジェクトの種類が正確にはわかりません。プロジェクトのプロパティは次のようになります。
追加データ :