WPFxUPnP その6
いよいよ、作り込みに入っていきます!
まずは、プロジェクトの設定を行います。
次のことを実行してください。
- プロジェクトの参照設定にCOMの中から、「UPnP 1.0 Type Library(Device Host)」を加える
- プロジェクトにフォルダ(web)を作成して、作成したDimmableLight.xml、SwitchPower.xml、present.htmlを登録
- 登録したxml2つとhtmlのプロパティを設定する
- 「ビルド アクション」をコンテンツ
- 「出力ディレクトリにコピー」を常にコピーする or 新しい場合はコピーする
- プロジェクトのプロパティ−「デバッグ」の「Visual Studioホスティングプロセスを有効にする」のチェックを外す
- ビルドしてできあがったwebフォルダのプロパティにAuthenticated Usersに読み取り権限付加
要は、UPnPデバイスに必要なライブラリを利用できるようにして、実行に必要なリソース(xml/html)を登録。
それで、ビルドしたときに、コピーされて利用できるようにしてます。
また、デバッグする際に、ホスティングプロセスを無効にしないと、UPnPデバイスの登録ができません。
これは、COMがUPnPデバイスオブジェクトを利用するのですが、ホスティングプロセスが邪魔をして、うまく利用できないためだと思われマス。
あと、実行時にリソースをCOMが読みとるため、ファイルのセキュリティを許可しないとこれまた失敗します。
(ファイルのセキュリティがない場合、エラーがファイルがありませんって・・・(−−;)
ビルド後イベントに次のように入れておくのもアリかと思います。
cacls "$(TargetDir)web" /e /g "Authenticated Users":r