0

Visual Studio C# プロジェクト ファイル ( *.csproj) 内にフィルター処理されたファイルを埋め込むカスタムの単調なタスクを作成しました。

タスク (vsembed) は、grunt を使用して開発しているカスタム ビルド システムの一部です。

Gruntfile.js ; vsembed.js

問題は奇妙なものですが...

TL;DR

特定のターゲットのタスクを実行すると、成功します。一度にすべてのターゲットに対して実行すると、エラーなしで終了します。

ロングバージョン。

ターゲットを指定してタスクを実行すると(一度実行されるため)、次のように正常に完了します。

C:\StoneOS>grunt vsembed:StoneOS.Modules.Pages.views --debug --verbose
Initializing
Command-line options: --debug=1, --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK

Registering "grunt_tasks" tasks.
Loading "vsembed.js" tasks...OK
+ vsembed, vsrembed

Registering "grunt-msbuild" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-msbuild\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-msbuild\package.json...OK
Loading "msbuild.js" tasks...OK
+ msbuild

Registering "grunt-contrib-compass" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-compass\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-compass\package.json...OK
Loading "compass.js" tasks...OK
+ compass

Registering "grunt-contrib-copy" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-copy\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-copy\package.json...OK
Loading "copy.js" tasks...OK
+ copy

Registering "grunt-contrib-clean" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-clean\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-clean\package.json...OK
Loading "clean.js" tasks...OK
+ clean
Loading "Gruntfile.js" tasks...OK
+ assets, default, development, embed, release, rembed

Running tasks: vsembed:StoneOS.Modules.Pages.views

Running "vsembed:StoneOS.Modules.Pages.views" (vsembed) task
[D] Task source: grunt_tasks\vsembed.js
Verifying property vsembed.StoneOS\.Modules\.Pages\.views exists in config...OK
File: [no files]
Options: project="C:\\StoneOS\\src\\StoneOS.Modules.Pages", directories=["views"], extensions=".cshtml"
Found embeddable files within filesystem:  [ 'views\\websocket.cshtml', 'views\\websocket\\script.cshtml' ]
Acceptable item: <EmbeddedResource Include="views\websocket.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\websocket\script.cshtml"/>
Included 2 files.
Written 3861 bytes to: C:\StoneOS\src\StoneOS.Modules.Pages\StoneOS.Modules.Pages.csproj

Done, without errors.

グループ全体でタスクを実行すると、3 つ、4 つのターゲットを完了することもあれば、4 つ目のターゲットを完了する途中で終了することもあります。これは最新の実行の出力で、上記の特定のターゲットの例に示されているのと同じタスク (4 番目のタスク) で停止します。

C:\StoneOS>grunt vsembed --debug --verbose
Initializing
Command-line options: --debug=1, --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks.
Reading package.json...OK
Parsing package.json...OK
Initializing config...OK

Registering "grunt_tasks" tasks.
Loading "vsembed.js" tasks...OK
+ vsembed, vsrembed

Registering "grunt-msbuild" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-msbuild\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-msbuild\package.json...OK
Loading "msbuild.js" tasks...OK
+ msbuild

Registering "grunt-contrib-compass" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-compass\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-compass\package.json...OK
Loading "compass.js" tasks...OK
+ compass

Registering "grunt-contrib-copy" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-copy\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-copy\package.json...OK
Loading "copy.js" tasks...OK
+ copy

Registering "grunt-contrib-clean" local Npm module tasks.
Reading C:\StoneOS\node_modules\grunt-contrib-clean\package.json...OK
Parsing C:\StoneOS\node_modules\grunt-contrib-clean\package.json...OK
Loading "clean.js" tasks...OK
+ clean
Loading "Gruntfile.js" tasks...OK
+ assets, default, development, embed, release, rembed

Running tasks: vsembed

Running "vsembed" task
[D] Task source: grunt_tasks\vsembed.js

Running "vsembed:StoneOS.Modules.Authentication.views" (vsembed) task
[D] Task source: grunt_tasks\vsembed.js
Verifying property vsembed.StoneOS\.Modules\.Authentication\.views exists in config...OK
File: [no files]
Options: project="C:\\StoneOS\\src\\StoneOS.Modules.Authentication", directories=["views"], extensions=".cshtml"
Found embeddable files within filesystem:  [ 'views\\login.cshtml' ]
Acceptable item: <EmbeddedResource Include="views\login.cshtml"/>
Included 1 files.
Written 4605 bytes to: C:\StoneOS\src\StoneOS.Modules.Authentication\StoneOS.Modules.Authentication.csproj

Running "vsembed:StoneOS.Modules.Installer.views" (vsembed) task
[D] Task source: grunt_tasks\vsembed.js
Verifying property vsembed.StoneOS\.Modules\.Installer\.views exists in config...OK
File: [no files]
Options: project="C:\\StoneOS\\src\\StoneOS.Modules.Installer", directories=["views"], extensions=".cshtml"
Found embeddable files within filesystem:  [ 'views\\introduction.cshtml',
  'views\\layouts\\installer.cshtml' ]
Acceptable item: <EmbeddedResource Include="views\introduction.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\layouts\installer.cshtml"/>
Included 2 files.
Written 3470 bytes to: C:\StoneOS\src\StoneOS.Modules.Installer\StoneOS.Modules.Installer.csproj

Running "vsembed:StoneOS.Modules.Main.views" (vsembed) task
[D] Task source: grunt_tasks\vsembed.js
Verifying property vsembed.StoneOS\.Modules\.Main\.views exists in config...OK
File: [no files]
Options: project="C:\\StoneOS\\src\\StoneOS.Modules.Main", directories=["views"], extensions=".cshtml"
Found embeddable files within filesystem:  [ 'views\\test.cshtml',
  'views\\layouts\\logo.cshtml',
  'views\\layouts\\main.cshtml',
  'views\\errors\\403.cshtml',
  'views\\errors\\404.cshtml' ]
Acceptable item: <EmbeddedResource Include="views\test.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\layouts\logo.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\layouts\main.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\errors\403.cshtml"/>
Acceptable item: <EmbeddedResource Include="views\errors\404.cshtml"/>
Included 5 files.
Written 7090 bytes to: C:\StoneOS\src\StoneOS.Modules.Main\StoneOS.Modules.Main.csproj

Running "vsembed:StoneOS.Modules.Pages.views" (vsembed) task
[D] Task source: grunt_tasks\vsembed.js
Verifying property vsembed.StoneOS\.Modules\.Pages\.views exists in config...OK
File: [no files]

「強制終了」とは、上記でわかるように、File: [no files]詳細モードで実行しているときにネイティブのうなり声で終了することを意味します。上記の 3 つのターゲット出力に見られるように、常に続きます。Options

タイムアウトまたはメモリ制限に達した後に発生するように感じます。

ベースのタスクをいくつか削除するXMLと、タスクは完了します (ただし、すべての目的が失われます)。そのため、問題はlibxmljs. gruntネイティブ出力でさえも途切れる最後の出力であると私が推測するだけです。

実行Windows 7 x64node v0.10.29, npm 1.4.14, grunt-cli v0.1.13, grunt v0.4.5.

ここでは本当に手がかりがありません...

単一のターゲットが実行されるが、複数の連続するターゲットが「静かに失敗する」という問題の原因は何ですか?

4

1 に答える 1