Ticket #31489

Visual Studioでビルド出来るようにする

Open Date: 2013-06-03 10:11 Last Update: 2013-06-10 18:08

Reporter:
Owner:
Status:
Closed
Component:
(None)
MileStone:
(None)
Priority:
5 - Medium
Severity:
5 - Medium
Resolution:
None
File:
None

Details

Visual Studio 2012の開発環境が手に入ったので、VS2012でビルドできるようcsprojなどを追加しておく。

また、Visual Studioのエディタでエラー無しにするには ///<reference path= の記述が必要なので、そのためのコメント追加も必要。

Ticket History (3/3 Histories)

2013-06-03 10:11 Updated by: tsugehara
  • New Ticket "Visual Studioでビルド出来るようにする" created
2013-06-07 22:55 Updated by: tsugehara
Comment

思ったよりもだいぶ厄介。

  1. エディタは依存関係をbuild.txtのような形で一括指定することが出来ないため、ファイル単位で指定する必要がある。
  2. ファイル単位で指定するためには ///<reference path= の指定が必要
  3. 指定をするとビルド順が変化する
  4. ビルド順が変化すると、クラス定義エラーでjavascriptが動作しない

たとえば、EクラスはBufferedRendererを内部的に参照する必要があり、BufferedRendererを参照するとSpriteを参照する必要がある。

この際ビルド順ではEクラスよりSpriteクラスが先になってしまい、JavaScriptでの出力もSpriteが先に出る。結果、以下のコードでエラー。

  1. var Sprite = (function (_super) {
  2. __extends(Sprite, _super);
  3. })(jg.E);

これを解決する方法が現状見つかってない。

そういう参照順にならないような設計の変更も考えたがインパクトが大きすぎるので、Visual Studioでビルドは出来るがVisual Studioのエディタではエラーになってしまうという、残念な形にせざるを得ないかもしれない。

2013-06-10 18:08 Updated by: tsugehara
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2013-06-10 18:08
Comment

Visual Studio単体ではどうしても難しかった。問題の詳細は別途Wikiに書いた。

http://sourceforge.jp/projects/jgame-js/wiki/Visual+Studioでの利用

一応、やや反則ではあるが、下記の条件を満たした形でビルドが出来るよう r104 にて対応。

  1. Visual StudioのTypeScriptコンパイル機能は使わない
  2. ビルド前イベントにてtscコマンドを直接叩いてビルドする

エディタではちゃんとコマンド補完もきくので、無意味ではない、はず。

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login