A certain engineer "COMPLEX"

開発メモ130 Windows IoT Core にリモートデバッグ

Introduction


備忘録です。
たいしたことないのですが、Windows IoT Core上にデプロイしたアプリをリモートデバッグしようと思い、 Windows Device Portal から Visual Studio Remote Debugger を立ち上げようとしたら

というエラーが。

確かに、デスクトップのWindowsの場合はVisual Studio Remote Debuggerをインストールする必要がありますが、Windows IoT core用のものなぞどこにも見つからず。

Resolution


偶然気づいたのですが、

「Visual Studioから直接デプロイandデバッグできるんじゃね?」

と思ったらこれが正解。

プロジェクトのデバッグ設定から

接続先のアドレスと認証モードを ユニバーサル (暗号化されていないプロトコル) に指定してデバッグを開始。
時間はかかりますが、これでデバッグが開始されます。

で、ここでさらに、

「今のでリモートデバッガーも展開されたんじゃね?」

と推測し、再度Windows Device Portalに移動しVisual Studio Remote Debuggerを起動すると

無事に起動。

これはわかりにくい

開発メモ129 Raspberry Pi3に.NET Coreをインストール

Introduction


備忘録です。
Debian with Raspberry Pi Desktopにインストールには、リポジトリにはARMのバイナリが用意されていないためapt-getが使えません。

How to


.NET Core 2.1.0 SDKですが、下記からLinux ARMSDK Binariesをダウンロードします。
ARMなので32bitをダウンロードします。

core - Home repository for .NET Core

下記のコマンドでダウンロードインストールを行います。

インストール後、下記によってインストールができたことを確認できます。

開発メモ128 子プロセスに対してWM_CLOSEを送る

Introduction


備忘録。
C++/C#の連携で、C++アプリから起動したC#アプリを、C++アプリから正常終了させる方法。
基本は、

  1. CreateProcessの戻りのプロセスIDを保持
  2. 終了させる際、プロセスIDからウィンドウハンドルを取得
  3. PostMessageでWM_CLOSEを送る

です。

ソースは下記になります

Sample source code for Demonstration, Experiment and Test - takuya-takeuchi/Demo

Demo


C++

GetWindowHandleで、プロセスIDからウィンドウハンドルを探し出しているのが肝です。
そして、このサンプルではプロセス起動後、Sleepで少し待機しています。
そうしないと、ウィンドウハンドルが取れないので...
コメントにも書いたように、おそらくウィンドウハンドルが生成され切っていないのかと。

C#

WPFのサンプルです。
コードビハインドですが、気にしません。

Source Code

https://github.com/takuya-takeuchi/Demo/tree/master/KillProcessSafetyByHWND

開発メモ127 Anaconda navigatorの仮想環境のディレクトリを変更する

Introduction


備忘録。
デフォルトだと%LocalAppData%に作成しにいくので辛い。
また最近のAnaconda navigatorは初回に保存先を聞いてくるようですが、それをスキップするとGUIから変更する手段がないのも辛い。

Resolution


解決策はこちら。

Can I change the path /Users/nolan/miniconda/envs/ to another one when creating a virtual environment ? I'd like it to be specific to my project directo...

やはりStackoverflowはしゅごい(小並感)

手順は、

1. .condarc を開く

私の環境では%userprofile%にありました。

2. 下記の記述を追記

ディレクトリ部分は好きなように変えましょう。
ここではD:\Works\Python\Envsに変更します。パスの区切りはバックスラッシュでOK。
つまり

です。

3. 既存の環境を移動

次に既に作成されたいる仮想環境を移動します。

規定では、%LocalAppData%\conda\conda\envsに作成されている模様。
コマンドで、

という確認も可能。
(どうでもいいけどスペル間違えてる....)

場所がわかったら、そこの配下をD:\Works\Python\Envsコピーします。
移動すると壊れた場合に戻せないので。

4. 古い環境を削除

この状態で、先ほどのコマンドを打っても

コピーを認識していませんが...
Anaconda Navigatorは認識しています。

おそらく名前が重複している場合は、先に見つかった方を優先しているのでしょう。
ですので、ここから古い方を削除します。

削除後、

きちんとコピーを認識してくれました。

無事に完了です。

開発メモ126 Anaconda navigatorのアップデートが始まらない

Introduction


備忘録。
Visual Studio 2017に付属していたAnaconda navigatorがアップデートするか?と聞いてきたので、はいと答えるも待てど暮らせどアップデートが始まらない状況に陥ったのでメモ。

Resolution


解決策はこちら。

作業中にAnaconda NavigatorとAnaconda promptが起動したらエラーを吐いて起動しなくなりました。 環境はwindows10 HomeAnaconda3-5.0.1です。 エラー...

上の問題と今回の問題は直接関係していませんが、解決方法は同一。

管理者権限をつけてAnaconda Promptを起動します。
次に下記のコマンドを実行。

こんな感じで更新が終わります。

ついでにアップデータも更新します。

無事に完了です。