VS CodeでASP.NET Core環境のタスクランナーをGulpやGruntに選択すると素直に動かない

投稿者: | 2017年3月4日

前の記事でASP.NET Coreの開発環境を作成したのでソース弄って遊ぼう、そういえばフロントラスクランナーDotNet CoreにしてたからGulpかGruntに作り直そうっと、と思って作り直したらエラーになりました・・・。

 

VS CodeのASP.NET Core環境構築についてはこちらを参照してください。

 

※この情報は2017年3月4日時点の情報です。

 

さて、フロントタスクランナーを切り替えるためにtasks.jsonを削除して作成しなおすという手段をとりました。Gruntでtasks.jsonを作り直した後にエラーが発生したのこの手順に問題があったと推測しました。エラー内容は「preLaunchTask ‘build’ が見つかりませんでした。」です。以前にも書きましたがこれは参照パスが通っていないときに発生する可能性が高いエラー内容です。

 

tasks.jsonの作り直しでエラーとなったのでtasks.jsonの中身をGrunt、Gulpで作られた物と.NET Coreで作れらたものとで比較してみました。

 

Grunt、Gulpを選択して作成されたtasks.json

-
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "grunt",
    "isShellCommand": true,
    "args": ["--no-color"],
    "showOutput": "always"
}
-

 

.NET Coreを選択して作成されたtasks.json

-
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "dotnet",
    "isShellCommand": true,
    "args": [],
    "tasks": [
        {
            "taskName": "build",
            "args": [ ],
            "isBuildCommand": true,
            "showOutput": "silent",
            "problemMatcher": "$msCompile"
        }
    ]
}
-

 

tasks.jsonの中身を比較すると一目瞭然ですがtasks[]がないことがわかります。

どうやらGrunt、Gulpを選択してtasks.jsonを生成するとtasksが生成されないためLaunch.jsonのprogramとマッチングされずにpreLaunchTaskが存在しないというエラーが発生してたようです。

 

Grunt、Gulpで生成したtasks,jsonにtasksを追加して下記のようにしたら問題なく起動しました。

-
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "grunt",
    "isShellCommand": true,
    "args": ["--no-color"],
    "showOutput": "always",
    "tasks": [
        {
            "taskName": "build",
            "args": [ ],
            "isBuildCommand": true,
            "showOutput": "silent",
            "problemMatcher": "$msCompile"
        }
    ]
-

 

今回のエラーは差分がはっきりしていたのですぐに解決できました。

まだまだ罠が待ち構えていると思いますが一つづつクリアしていく所存です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください