「.NETプラグイン開発 デバッグ編」の版間の差分
ページの作成:「= 概要 = ビルドからデバッグまでの手順とサイクルの改善の説明。 = ビルドからコピーまでを自動化 = ビルドした結果が Plugins...」 |
編集の要約なし |
||
| 10行目: | 10行目: | ||
すると「ビルド後イベントのコマンド ライン」には既に 4 行のコマンドが書かれているはずである。<br> | すると「ビルド後イベントのコマンド ライン」には既に 4 行のコマンドが書かれているはずである。<br> | ||
<source lang=" | <source lang="winbatch"> | ||
IF NOT EXIST "$(ProjectDir)Plugins" MKDIR "$(ProjectDir)Plugins" | IF NOT EXIST "$(ProjectDir)Plugins" MKDIR "$(ProjectDir)Plugins" | ||
IF NOT EXIST "$(ProjectDir)Plugins\$(TargetName).dll" COPY /Y "$(ProjectDir)Library\DotNetWrapper.dll" "$(ProjectDir)Plugins\$(TargetName).dll" | IF NOT EXIST "$(ProjectDir)Plugins\$(TargetName).dll" COPY /Y "$(ProjectDir)Library\DotNetWrapper.dll" "$(ProjectDir)Plugins\$(TargetName).dll" | ||
| 21行目: | 21行目: | ||
4 行はそのまま、最後に以下の行を追加する。<br> | 4 行はそのまま、最後に以下の行を追加する。<br> | ||
<source lang=" | <source lang="winbatch"> | ||
XCOPY "$(ProjectDir)Plugins" "(Mery フォルダのフルパス)\Plugins" /Y /S /I | XCOPY "$(ProjectDir)Plugins" "(Mery フォルダのフルパス)\Plugins" /Y /S /I | ||
</source> | </source> | ||
2016年5月27日 (金) 23:21時点における版
概要
ビルドからデバッグまでの手順とサイクルの改善の説明。
ビルドからコピーまでを自動化
ビルドした結果が Plugins にまとまっているが、これを Mery にコピーするのは面倒である。
当然作っていく中では、修正 -> ビルド -> 確認のサイクルが頻発するための、このコピーを自動化する
ソリューションエクスプローラーでプロジェクトを右クリックし、プロパティを開く。
左の一覧から「ビルド イベント」を選択する。
すると「ビルド後イベントのコマンド ライン」には既に 4 行のコマンドが書かれているはずである。
IF NOT EXIST "$(ProjectDir)Plugins" MKDIR "$(ProjectDir)Plugins"
IF NOT EXIST "$(ProjectDir)Plugins\$(TargetName).dll" COPY /Y "$(ProjectDir)Library\DotNetWrapper.dll" "$(ProjectDir)Plugins\$(TargetName).dll"
IF NOT EXIST "$(ProjectDir)Plugins\$(TargetName)" MKDIR "$(ProjectDir)Plugins\$(TargetName)"
COPY /Y "$(TargetDir)*.dll" "$(ProjectDir)Plugins\$(TargetName)\"
これは、ビルド結果を Plugins としてまとめる処理で有り、実は Plugins フォルダにまとめるのは自前でやっている。
同じように、この結果を Mery にコピーしてやれば良い
4 行はそのまま、最後に以下の行を追加する。
XCOPY "$(ProjectDir)Plugins" "(Mery フォルダのフルパス)\Plugins" /Y /S /I
(Mery フォルダのフルパス) には、開発用に用意した Mery フォルダのフルパスを入れる
(例:C:\Users\tarou\Desktop\Mery\Plugins)
これで、ビルドしたときに勝手にコピーされるようになる。
注意点として、プラグインは Mery がロードしているため、コピー前に必ず Mery を終了させておく必要がある。
起動したままだとコピーに失敗する。
デバッグ
コピーの手間をなくしたところで、本題のデバッグである。
プロジェクトのプロパティで、左の一覧で「デバッグ」を選択する。
その中で「開始動作」で「外部プログラムの開始」を選び、右の「...」ボタンから Mery.exe を選択する。
後はメニューの [デバッグ] - [デバッグの開始] でも、ツールバーの右三角ボタンでも実行すれば、Mery が実行される。
処理ソースの適当なところで行番号左の列をクリックし、赤丸がつくのを確認する。
この状態でプラグインを実行し、該当の行を通るときにデバッガが動き動作が止まる。
後は変数名にカーソルを当てて中身を見たり、F10 で 1 行ずつ動かして確認すると良い。
注意点として、プラグインは Mery の処理の一部として動いているため、プラグインを止めると Mery も止まる。
よって、実行した結果を Mery で逐一確認する、というのは難しい。