はhttps://blogs.msdn.microsoft.com/azuredatalake/2017/10/24/continuous-integration-made-easy-with-msbuild-support-for-u-sql-preview/USQLのMSBuildの - 私は、このリンクの指示に従ってだ複合ビルド出力
それはのように述べている
U-内のすべてのスクリプト、コマンドラインまたはVSTSのタスクとしてのMSBuildを実行した後SQLプロジェクトがビルドされ、 "Build output path/script name/script name.usql"という単一のファイルに出力されます。 この複合U-SQLスクリプトを今後の展開のためにリリースフォルダにコピーできます。私のVisual Studioプロジェクト内
(.usqlproj)私は複数の.usqlのスクリプトを持って
- CreateDatabase.usql
- CreateTable.usql
- CreateTvf.usql
ときIきれいにしてmsbuildしてbin \ debugフォルダをチェックしてください。私が得るのはCreateDatabase.usqlだけです。そこにはCREATE DATBASE文しかありません。ブログごとに私は3つのusqlスクリプトが1つの複合usqlスクリプトにマージされていると思っていたでしょう。私は私のマシン上でコマンドプロンプトから実行MSBuildのコマンドは
msbuild TheProject\TheProject.usqlproj /t:Clean /t:Rebuild /property:USQLSDKPath=C:\TheProject\src\packages\Microsoft.Azure.DataLake.USQL.SDK.1.3.1019-preview\build\runtime,USQLTargetType=Merge
は私が間違って何をやっている2.3.0000.1
のVisual Studio 2017 15.4.3とAzureのデータ湖のツールを使用していますか?
1)はい、すべてのスクリプトをビルドするにはBuild_all_files_in_this_projectを右クリックします。** msbuildコマンドライン**で同じ動作をどうやって得るのですか? 2)ブログで言及されているように、それはまだ**複合U-SQLスクリプト**を作成していません。実際には、bin \ Debugフォルダに3つの異なる.usqlスクリプトが作成されています。それとも、私はそのブログを誤解しましたか? – databash
この記事では、「ビルド出力パス/スクリプト名/スクリプト名.usql」で「**単一ファイルへの出力**」と書かれています。それを正しく理解するために、記事の下にコメントを追加しました。あなたはフォローアップできます。 –
「マージ」ターゲットの誤解があるようです。 "マージ"ターゲットは、現在のディレクトリ内のすべてのU-SQLスクリプトを1つの大きなスクリプトにマージすることではありません。代わりに、 ".csのようなコードビハインドファイルをコンパイルし、結果として得られるユーザ定義のコードライブラリをU-SQLスクリプトにインライン化する"ことです。したがって、プロジェクトに3つのU-SQLスクリプトがある場合、マージされたコンパイル結果は、3つのターゲットフォルダ内の3つの異なるファイルになります。 –