カテゴリー: 技術系memo

  • msvcp140_atomic_wait.dll が見つからないというエラーがでたときの対処

    「msvcp140_atomic_wait.dll」が見つからないというエラーがでて、Teamsから別のプログラムを呼び出せなくなる事象があった。これの対処方法。

    「msvcp140_atomic_wait.dll」は、「Visual C++ 再頒布可能パッケージ」に含まれているので、これを修復するか、インストール(上書きインストール?)を試す。

    「msvcp140_atomic_wait.dll」をインストールする場合は、下記のMicrosoftのサイトからダウンロードする。

    https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

    通常は、OSのビット数に合わせて、x64(64ビット)か、x86(32ビット)かを選んで試す。ただ、OSのビット数とは違うバージョンを呼び出している場合もあるので、ダメだったら別ビット数の方も試す。

    壊れた原因は、アンチウィルスが悪さをしたか、Windows Updateの影響か。ユーザの動作によらず、急に不具合が発生する可能性はある。

  • メモ:VDI端末はワイヤレスディスプレイに設定できないかも

    VDI端末からだと、Windowsの機能でのワイヤレスディスプレイに接続できないことがある。

    PINコードをいれても、VDI側のWindowsの機能だったりするのでミラーリング等の投影ができない。

  • Powershellでフォルダ内のテキストファイルを1つにまとめる

    DBのテーブルを作成するDDLが個別ファイルで保存していたのだが、1つ1つ開いてコピペして実行していくのは大変。テキストファイルのため、Powershellで1つのファイルにまとめて(マージ)した。そのコマンドのメモ。

    Get-Content *.txt  | Set-Content マージ後のファイル名.txt
  • Powershellでフォルダ内のテキストファイルを1つにまとめる

    DBのテーブルを作成するDDLが個別ファイルで保存していたのだが、1つ1つ開いてコピペして実行していくのは大変。テキストファイルのため、Powershellで1つのファイルにまとめて(マージ)した。そのコマンドのメモ。

    Get-Content *.txt  | Set-Content マージ後のファイル名.txt
  • .NET8のアプリで急に動作が遅くなるときがある。

    .NET8のアプリで急に動作が遅くなるときがある。このときは、Dynamic PGOを疑ってみるといい。

    .NET8のDynamic PGOは、基本的にはアプリ実行が早くなる。アプリのサイズが巨大で、ほとんど使われない機能があり、いろいろな機能を呼び出しているときは、一定の閾値をこえると急激に遅くなることがある。これは、Dynamic PGOの特性のようだ。

    Bing on .NET 8: The Impact of Dynamic PGO
    https://devblogs.microsoft.com/dotnet/bing-on-dotnet-8-the-impact-of-dynamic-pgo

  • Let’s Noteのモニタが映らないときにBIOS設定にアクセスする方法

    Let’s Noteのモニタが映らないとき、画面割れでみれないときに、BIOS設定の画面を表示する方法がわかったので、メモ。

    試したのは、Let’s Note SR4。

    1. Let’s Noteに、USBのキーボードを接続する。

    2. モニタを接続する、HDMIでもVGAでもよい。

    3. Let’s Noteの電源をいれ、F2キーを連打し続ける。

    もし、Windowsのログオン画面まで表示されたときは、Shiftキーを押しながらシャットダウンを選択する(完全シャットダウンする)

    4. しばらくすると、接続したモニタ側で、BIOS設定の画面が表示される。BIOS画面のパスワードロックをかけている場合は、パスワード画面が表示される。

    5. あとはBIOSの設定変更を行ったり、初期化を行ったりする。

    これのポイントは、モニタが出力が検出できることと、USBでキーボードがつながっていること、キーボードがつながっていないと、モニタへの画面出力がされないので注意。マウスは、USBで接続してもしなくても影響はなかった。

  • Accessで「.FindFirst」の処理が「コンパイルエラー」になる

    古いAccessのツールを、最新のAccessで使うとき、「.FindFirst」の処理が「コンパイルエラー メソッドまたはデータメンバーが見つかりません」になる。

    対応したときの方法は下記。

    1. Accessのツールを編集できるモードで開く。

    2. 上部メニューの「作成」を選択し、リボンUIから「Visual Basic」を開く。

    3. 「Microsoft Visual Basic for Applications」が開いたら、「ツール」の「参照設定」を選択する。

    4. 参照可能なライブラリで「Microsoft Office 16.0 Access database engine Object Library」を選択して、優先順を上位にする(あげられるところまで上げる)。

    5. 保存する。

    6. もう一度、テストする。

  • .NET FrameworkのASP.NETから、.NET CoreのASP.NETにアップグレードするツールが公開されてる。

    .NET Framework 4.8系のASP.NETのMVCから、.NET Core系のASP.NETのMVCにアップグレードするためのツール(.NET アップグレード アシスタント)が公開された。MVCモデルなので、これは精度よくアップグレードできそうな気がする。

    従来型のASP.NET Framework Web Forms アプリも変換できるようだが、、、こっちはかなり構造が変わるので、どうなんだろうか。

    ■参考

    ASP.NET MVC と Web API から ASP.NET Core MVC へのアップグレード
    https://learn.microsoft.com/ja-jp/aspnet/core/migration/mvc?view=aspnetcore-9.0

    ASP.NET Framework Web Forms アプリを ASP.NET CORE MVC にアップグレードする
    https://learn.microsoft.com/ja-jp/aspnet/core/migration/web_forms?view=aspnetcore-9.0

    .NET アップグレード アシスタントとは
    https://learn.microsoft.com/ja-jp/dotnet/core/porting/upgrade-assistant-overview

  • WSLのUbuntuでapt updateがエラーになる

    Windows11のWSLのUbuntuでapt updateがエラーになる。エラーとしては下記で、外部への接続ができなくてエラーになる。なお、PINGを外部にむけて打つと、ちゃんと返ってくる。

    timed out Could not connect to security.ubuntu.com:80 (185.125.190.83), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.83), connection timed out Could not connect to security.ubuntu.com:80 (91.189.91.81), connection timed out
    W: Some index files failed to download. They have been ignored, or old ones used instead.
    • 「/etc/resolv.conf」を書き換えて、外部DNS(8.8.8.8)にしたけれど、効果なし。
    • apt updateで使っているディレクトリの「/var/lib/apt/lists/」を消したけれど、効果なし。
    • 「/etc/wsl.conf」も書き換えたけれど、効果なし。
    • 接続先のインターネット回線も変えてみたけれど、効果なし。

    WSLの設定としては、八方ふさがりな状態になった。ふと思いついて、Windows11にインストールされているアンチウィルスソフト(Symantec Endpoint Security)を無効化してみたところ、apt updateが成功した。

    原因: アンチウィルスのファイアウォール機能が通信を止めていた。

    わかってしまえば、とても単純な理由だった。いっそ、WSLからの通信を全部とめてくれたのならば、わかりやすかったのだが、中途半端に止められていたので気が付くまで試行錯誤をしてしまった。

  • Windows11でUSB-RSAQ6を使う

    個別でドライバのインストールの必要なし。接続時に、インターネット上から必要なドライバをダウンロードしてくれる。

    実際、USB-RSAQ6をWindows11に接続して、特に手動での設定は必要なく、Tera Termから利用することができた。

    https://www.iodata.jp/support/qanda/answer/s19680.htm