中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

Visual Studio Code(VSCode - .NET Core無し)を使って、コンソールアプリ(C#CSファイル)をデバッグ

f:id:tm-b:20200928174150j:plain

 

はじめに

先日に「Visual Studio Code」の「C#extension」をインストールしました。その過程で「.NET Core ランタイム」がインストールされていないと怒られたのですが、開発用PCではないし、資料を作るために少しコードを書いて動作確認したいだけだったので、結局「.NET Core」はインストールしませんでした。

 

VSCode」起動するたびに警告

The .NET Core SDK cannot be located. .NET Core debugging will not be enabled. Make sure the .NET Core SDK is installed and is on the path.

 

解決方法:File > Preferences 画面で「User > Extensions > C# configuration」をたどり「Suppress Dotnet Install Warning」をチェックする。

https://qiita.com/Kosen-amai/items/badd7992228d7f2943ba

 

VSCode」で目指す環境

「.NET Core」をインストールしない(「.NET Framework」はインストール済)と、「デバッグ(実行やブレークポイント停止)」が動いてくれない。 何回も言うのですが、資料を作るために少しコードを書いて動作確認したいだけなので、プロジェクトすら不要なのです。1ファイルを「ビルド&実行&デバッグ」できればそれでよいのです。。。ということで、そういう環境のための設定はこんな感じで! (開発には向いてないと思いますが、その時は「Visual Studio」で十分です。)

 

launch.json

{
    "version""0.0.0",
    "configurations": [
        {
            "name"".NET FW Launch (console)",
            "type""clr",
            "request""launch",
            "preLaunchTask""debug-build",
            "postDebugTask""debug-clean",
            "program"".debug.exe",
            "args": [],
            "cwd""${workspaceFolder}",
            "console""internalConsole",
            "stopAtEntry"false,
            "internalConsoleOptions""openOnSessionStart"
        }
    ]
}

 

task.json

{
    "version""2.0.0",
    "tasks": [
        {
            "label""debug-clean",
            "type""shell",
            "command""del",
            "args": [ ".debug.pdb"".debug.exe" ],
            "group":"none"
        },
        {
            "label""debug-build",
            "type""shell",
            "command""C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Current/Bin/Roslyn/csc.exe",
            "args": [
                "/pdb:.debug.pdb",
                "/out:.debug.exe",
                "/debug+",
                "/debug:portable",
                "/optimize-",
                "/langversion:9",
                "/platform:anycpu",
                "${relativeFile}"
            ],
            "group":"none",
            "problemMatcher""$msCompile"
        }
    ]
}

 

Build Tool

Build Tool(Build Tools for Visual Studio 2019) はここの下のアコーディオンVisual Studio 2019 のツール」を広げると探せます。

Download Visual Studio 2019 for Windows & Mac

 

まとめ

これで、F5からデバッグ実行可能になります。pdoをクロスプラットフォーム用に作成するのが大切!(/debug:portable)、あとプロジェクトファイルを作らないためMSBuildも不要(RoslynのCSCで十分)

断捨離で偶然!? Dynabook R73 の排熱対策

手短に、
Dynabook R73 CPUファン排気、とても熱いです。
机の塗装が熱で浮いたり、困ります。
事務所では、PC立てて、リモートデスクトップから繋げたり、いらないHDDの鉄材の蓋みたいなものをPCと机の間に入れてしのいでました、、ですが持ち歩くには不便!
f:id:tm-b:20200927193809j:plain
断捨離中に偶然ATXケースのゴム足を発見!
PCに装着したところ良い感じです。
f:id:tm-b:20200927193905j:plain

f:id:tm-b:20200927193921j:plain

リモートワークのコツ - 固まる、切れる、を解消

f:id:tm-b:20170728004131j:plain

はじめに

リモートワークしてますか?ということで今回は「NTTひかり電話」に関した話題です。これまでは「NTTひかり電話」は不要だったのですが、諸事情でオプションを有効にしました。そして、その工事日を境に仕事で使う「シンクライアント」が頻繁に固まる、すぐ切れる、という事象が起こり始めます。数日は原因不明で無視してましたけど、気になるし、とりわけ大事なところで固まってくれるし、作業がはかどらない気がします。。。ということで原因予想から解決するまでのメモです。

原因予想(仮説を考える)

フレッツに契約したのは5年以上まえの話です。そして、ONU内蔵の「NTTひかり電話ルーター PR-500MI」はその時点から交換するはずもありません。この機器の寿命的なものも疑いましたが、「NTTひかり電話」オプションを有効にする前までは、起こっておらず、このタイミングと同時に寿命をむかえたというのは考えにくい・・、「NTTひかり電話」を設定したときにインターネットの設定を間違って触ったかしら??いやいや、覚えがないです、そうしたら内部的に勝手に変わるものがあるのかな??。「NTTひかり電話」オプションを有効にすると「NTTひかり電話ルーター PR-500MI」のルータ機能が有効化されるようです。しかし、今の環境の「プロバイダ接続」は別のルーターで行っています。影響はないはず。もしかして、、特定の通信パターンでPPPOEブリッジ動作に影響する何かがあるのか?専門的なことはわかりませんがなんとなくこういった仮説を考えました。

解決策(実際にしてみる)

要はインターネットの設定が「NTTひかり電話」オプションを有効にする前の状態に戻ればよいはずなので、ネットを検索するとまさにこれかというサイトを発見しました。

NTTのひかり電話ルータ PR-500MIのWi-FiとONUだけ使う - Yotazo Lab.

 

エレコム スイッチングハブ ギガビット 5ポート 金属筐体 マグネット付 電源内蔵 ブラック EHC-G05MN2-HJB

新品価格 ¥2,718から (2020/9/13 10:52時点)

ここで紹介されている方法を今の環境に反映するためには、スイッチングハブが必要で、今回は「エレコム スイッチングハブ EHC-G05MN2-HJB」を購入しました。

※うちの場合、たまに夫婦で同時にリモートワークするタイミングがあり、そもそも、ルータ2台+マルチセッション(ネットワークの物理的な分離と安定性重視)を設定しているので、そこは特殊かもしれません。VPN接続試験もすぐできます♬汗)あまり需要ないですね。。。どーも失礼しました。

CISCO C841M-4X-JSEC/K9

新品価格 ¥20,969から (2020/9/13 11:14時点)

※1. ルータ(Cisco 800M シリーズ )×2台
※2. スイッチ(エレコム スイッチングハブ)×1台
※3. ホームゲートウェイ(NTTひかり電話ルータPR-500MI)×1台

1.スイッチとホームゲートウェイの後ろ側にあるUNIボックス内のNICを直接続する。

2.スイッチとルータ1のWAN1ポートを接続する。

3.スイッチとルータ2のWAN1ポートを接続する。

エレコム CAT6中継コネクタ LD-RJ45JJ6Y2

新品価格 ¥475から (2020/9/13 11:00時点)

4.ひかり電話を利用する場合「エレコムLAN中継コネクタ」を使い、スイッチとホームゲートウェイの後ろ側にあるUNIボックス内のケーブルを接続します。(ホームゲートウェイの設定画面を開くときもね)

 

まとめ

これ以降、シンクライアントが固まる事象は再現していません。(よかった!)

LANケーブルは自作なので0円ですが、スイッチングハブで3,000円程度出費したのは痛い。。。ともあれ、快適。。。根本原因など気にならない性格(きりがないので、気にしないよう心がけている)なので、もうこれで終わりにします。解決です。当面は、この環境を維持したいと思いますーーー

最後にスピード計測したら少し(10Mbps程度)早くなってるかも。。

たまたまなのか、LANケーブル劣化が解消されたのか。。。よいことです。

https://speedtest.gate02.ne.jp/