Assembly.GetEntryAssembly について調べた

Assembly.GetEntryAssembly というメソッドがあります。これが何を返すか、即答できますか?
現在のプロセスの元になった exe ファイルのアセンブリでしょうか?

ちょっと疑問があったので調べてみました。

docs.microsoft.com

続きを読む

PowerShell のスコープ完全に理解した

はじめに

本記事は PowerShell Advent Calendar 2018 の 18 日目としてエントリーしていた記事です。
qiita.com

が、18 日中に公開できなかったばかりか、Advent Calendar 期間中にも間に合いませんでした。申し訳ない。

続きを読む

ps1xml のスキーマを書いた話

はじめに

本記事は PowerShell Advent Calendar 2018 の 4 日目です。
PowerShell Advent Calendar 2018 は寄稿して頂ける方を絶賛募集中です。よろしくお願いいたします。
qiita.com

TL; DR

  • ps1xml を書こうぜ。
  • RELAX NG はいいぞ。

ps1xml とは

ps1xml とは、PowerShell と共に利用する、特殊な XML ファイルです。
あからじめ PowerShell に同梱されているものもありますし、ユーザーが作成したモジュールを配布する際に同梱することもできます。

PowerShell に同梱されているものは、Windows PowerShell のインストール ディレクト*1にあります。
ただし、このファイルは過去との互換性のためにあるもので、Windows PowerShell 5.1 では読み込まれないのだそうです。PowerShell Core でも同様です。
ユーザーが自作したものは読み込まれますので、サンプルとしては有用です。

blog.shibata.tech
blog.shibata.tech

ps1xml には、types.ps1xml と format.ps1xml という2つのタイプがあります。

モジュール作りの一環としてこれらを書くにあたって、エラー チェックや入力補完をしてくれる XML スキーマが無いと厳しいので書いたよ、というのが、本記事の趣旨です。
書いたスキーマはここに置いてあります。

github.com

*1:通常は C:\Windows\System32\WindowsPowerShell\v1.0

続きを読む