misc.log

日常茶飯事とお仕事と

業務日誌.NET

イベント処理内でメッセージボックス表示するとメッセージ表示後に別フォームが前面に出てくる

職場での質問メモ。言語はC#。Grapecity(グレープシティ)のSpreadで、セル内の変更について「変更しますか?」というようなメッセージを出して可否を問うたあと、「いいえ」で戻ろうとするとそのフォームの親となるフォームが前面に飛び出してくるというト…

C#7.0のValueTupleとStyleCopのシンタックスエラー

Visual Studio 2017 + .NET Framework 4.7でC# 7.0を使った開発で、複数の値のペア(2組以上もOK)を一度に扱える「Value tuple(バリュータプル)」を用いた場合、コードチェック用ツール「StyleCop」がシンタックスエラーを返してしまうようです。 SA0102 …

VB.NET C#とVisual Studio、.NET Framework

開発で使っているツール等について、正直、最近のバージョンが何がどうなのかよく分からなくなってきました。開発チーム向けの環境関連資料を整備するついでに自分用の情報をメモしておきます。 Visual Studio 2017と.NET Framework Visual Studio 2017では.…

lc.exe について

2018年に関与したプロジェクトのWikiに自分が書いていた説明を転記しておきます(記載: 2021/10/18)。もう使わないだろうけれど。 lc.exe概要 License Compiler(ライセンスコンパイラー)。Visual Studioでライセンス情報をアセンブリーに埋設する必要があ…

Visual Studioでアスタリスクを連発するコメントを正規表現で消す

今メンテしているソース、C#なのですが、なんというか「昭和のC#かよ」というような記述が多く辟易しています。その1つがこれ //*********************************************************** // これはコメントです //***********************************…

StyleCopでSA1600を変更しPrivateフィールドへのコメントを不要にする

Visual StudioでC#などのコーディング規約をチェックしてくれるStyleCopを利用しているのですが、規約No.「SA1600」、「Elements must be documented.」、ソースの要素にはすべてXMLコメントをつける必要があるという規約をONにすると、プライベート宣言した…

GitLabとVisual Studioの連携

自分用メモ。いずれにしても今週中に確認して手順をまとめる必要あり。こんなの若い人やってよ~が正直なところの本音。今回の案件では社外メンバーとソースを共用して作業を進める必要があることから、ソース管理はGitLabのプライベートリポジトリを利用す…

VS Codeのマークダウンで画像がプレビュー表示されない

自分用メモ。先日からVisual Studio CodeでMarkdown形式の資料を作っているのですが、.mdファイルがあるフォルダをベースにした相対パスでイメージの埋め込みを行ったところ、以下のケースでプレビューに画像が表示されなくなってしまいました。[表示されな…

Markdownの箇条書きでの「ぶら下げ」と、ぶら下げブロック内でコードサンプルを綺麗に書く

訳あってStyleCopのエラーメッセージを和訳してコーディング規約に仕立てるという楽しい作業をやっているのですが、あまりに苦行なのでマークダウンで綺麗に仕上げてみようと思いました。そもそも英語で読めねぇ、という人たちが単純和訳しただけの文章で実…

直近の開発環境設定についてのメモ

今度やる案件で使うツールの導入と初期設定等をやっているので、ちょっとメモしておきます。 StyleCop コードの規約違反を洗い出すツール。Visual Studioの拡張機能として導入し、プロジェクトを右クリックして実行すると、事前に決められたルールにソースが…

新人のPC(Windows7)でIISを使ってASP.NETアプリを動くするようにする手順概要

忘れないようにメモしておきます。詳細は書いてませんので適宜よろしくです。ここでは、Windows7をWebサーバーとして動かし、.NET Framework 4.0として作ったアプリを動かせるようにするまでの過程を書いています。また、PCにはVisual Studioがインストール…

C#のDataGridViewに西暦1年1月1日を入れると空欄になる件

新人研修で挙がってきた質問、とりあえず分かったことまで書き添えてteratailに投げてみた。teratail.comVisual C#データベースプログラミング入門作者: 日向俊二出版社/メーカー: カットシステム発売日: 2011/06/01メディア: 単行本購入: 1人 クリック: 2回…

削除文字(&H7F)

※日本語変換や環境によっての差異について補記(2019/01)。個人用メモ。10年くらいまえの案件で入力文字制限の議論で登場した文字、すっかり忘れていたのを思い出したのでメモしておきます。 DELの制御コードはキーから入力できる 入力処理のテスト仕様書殺…

SQL ServerでのLike検索でエスケープすべき文字

ちょっと理由をうまく説明できなかったのでメモ。SQLでデータベースから情報を取得する際に「Like」で指定する場合、ワイルドカードとして使える文字があります。そういう「ワイルドカード文字」のような特殊用途文字自体を検索する場合、「これは特殊文字だ…

C#でCAPTCHA認証を取り入れてみる

研修でC#によるアプリのセキュリティ関連の話をした流れで、CAPTCHA認証という「画像として与えられた文字を入力することで、自動的なログイン試行などを除外する」という機能を盛り込んでみることになりました。下記のマイクロソフト系サイトのコードをサン…

Dispose関連の話

新人向けにおそらく「わかりやすく」話す必要が出てきそうなので、予習ネタを準備しておきます。blogs.wankuma.com

C#関連 新人向けに紹介したマイクロソフトの公式情報

2018年の新人研修で、C#プログラミングに関する用語や基本的な技術についてのMS公式サイト情報を新人に共有した際のURLをメモしておきます(発掘:2021/10/21)。 C# マイクロソフトの説明ページ .NET Framework 4.0クラスライブラリー説明 …… https://msdn.…

C#での文字列書式設定方法

いつも忘れます。そして、Microsoftのサイトにわかりやすい説明がない。というわけでMSのサイトへのリンク等も含めて自分用に少しまとめておきます。 String.Formatメソッドの書式指定とプレースホルダー よく使われるのは String.Format("{0}さんの答えは{1…

動いているアプリが.NET Frameworkベースかどうかを判定する方法

小ネタですが。動いているアプリが.NET Framework必須のものかどうかを判定する方法として、以下のコマンドで表示されるプロセスの一覧に含まれるかどうかを見るというものがあるようです。 tasklist / "mscor*" mscoree.dllやmscorei.dllのようなモジュール…

ModulusとExponentを指定してRSAで暗号化/復号する(.NET)

客先のデータ保存システムへのアクセスで、ログインにチャレンジ文字列を使ったパスワードの暗号化が必要ということが判明。Webサービス経由でサーバーに要求を掛けるとRSA暗号化用のModulus(モジュラス)とExponent(エクスポーネント)、チャレンジ文字列…

ODP.NETのDLL名、変わっていたのね

久々にWindows Formsのアプリをいじることになって、客先からソースをもらって改修作業を……と思ったら、開発環境やら手順やらが全くなくて四苦八苦。その中で、Oracle接続に使っているライブラリが「Oracle.ManagedDataAccess」ってなっていたのでなんだろう…

NPOIで.xls、.xlsx問わず読み込んで処理する方法

.NETアプリからExcel自体を使わずにExcelファイルを扱うライブラリ、NPOIですが、xlsxとxlsでは読み込むオブジェクトが異なるようで。これを共通的に読み込んで IWorkbook型のオブジェクトとして取り扱う方法、こちらに書いてあったのを参考にさせてもらいま…

log4netでログファイルが空であれば生成しなくする方法

log4netを使ったアプリで、ログファイルを「本当にエラーの時だけ出す」という設定にした場合、普通に作るとエラーが無くても空のログファイルができてしまいます。これをなんとか回避できないかという件。とりあえずStackoverflowで該当する質問があったの…

Webアプリから実行すると遅いSPが、SSMSからだと速い

※一応解決。最新情報は → http://www.backyrd.net/entry/20160810/1470796194 ちょっとメモ。とあるストアドプロシージャが、Webアプリ(ASP.NET、ADO.NET経由)で実行するとタイムアウトしたりしなかったりなのですが、SSMS(SQL Server Management Studio…

ASP.NET Webアプリを新環境に置いたら500.19 Internal Server Error

旧サーバーで動いていたものを、設定ファイルの接続先だけ書き換えて新環境に置いてみたのですが……なぜかエラーが。エラーはASP.NETのファイルのみならず、テスト用に作ったhtmlファイルの表示でも発生。 HTTP エラー 500.19 - Internal Server Error ページ…

C#やVB.NETからExcelファイルを開いて操作する - NPOI試用

C#からExcelファイルを開いて内容を読みだす必要が出てきたので少し調べものメモ。 NPOI パッと思いつくのはInterop.Excelを使ってのアクセスですが、Office365が入ってきている環境でバージョン依存になったりするプログラムにしたくないので、このやり方は…

文字コード関連の過去エントリー

なんか自分よりずっと前からウェブ関連やってる人たちが全然文字コードとか気にしてなくてノウハウも持ってなくてちょっと参ってるので、とりあえず過去に自分が書いたものを列挙しておきます。何か聞かれたときにさっと調べられるように。 文字コード全般 w…

.NET Reflectorに変わるツール、dotPeek

.NET開発をやっていると、他社や他チームが作成したDLLの中のロジックを追いたくなることがあります。え?ない?あるよね?あります。というわけで、以前は「.NET Reflector」というツールがそういう用途で使えたのですが、残念ながらというか人気があるから…

telnetでWebサーバーの生死を確認してみる

15年ほど前、最初の転職で面接に訪れた会社で聞かれたのが「メールサーバーにコマンドを送ってメール取得とか、できますか?」でした。残念ながらやりかたを知らず、できませんと言ったところ不採用。ま、それだけじゃないのですが、そのあとご丁寧に喫茶店…

DTSの定義情報をVisual Studio 2008で確認する(断念…)

結論からいうと、自分の作業環境ではできませんでした。念のため試したことを記載しておきます。参考まで。古いシステムの刷新プロジェクトで、SQL ServerのDTS(Data Transformation Services)が利用されていたので、その内容を見たいのですが…。手元にあ…