misc.log

日常茶飯事とお仕事と

業務日誌.NET

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では.…

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)

個人用メモ。10年くらいまえの案件で入力文字制限の議論で登場した文字、すっかり忘れていたのを思い出したのでメモしておきます。入力処理のテスト仕様書殺しの文字として、DELキーによる削除と同等の動きをする「削除文字」があります。文字コードは7F。こ…

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

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

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

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

Dispose関連の話

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

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ファイルの表示でも発生。 設定項目の何が原因か調べる おかしく思い、設定ファ…

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)が利用されていたので、その内容を見たいのですが…。手元にあ…

DataTable.Mergeでエラーが出る

CSVで一覧表を出力するASP.NETのアプリで、ちょっと見出しの名前を変えたらエラーが出てしまってしばらく悩みました。 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、 あるいは外部キーですが、この制約の違反が 1 つ以上の…

「~はCLSに準拠していません」警告が出る

仕事の都合で参照しなければいけないVB.NETソースがあり、その内容をVisual Studioで見ていたのですが、一斉に警告「~はCLSに準拠していません」が並びました。あまり見たことが無い警告だったので調べたのですが、これ、「先頭がアンダースコアであるパブ…

Visual Studio 2005 + VSTO on Windows 7でExcelアプリを作ってmsi形式でインストールする

いやもう、なんというか大変。Visual Studio 2005に、VSTO(Visual Studio Tools for Office)を入れて、Office 2003用のExcelに.NETで追加機能を付けたものを作り、さらにそれをmsi形式でインストールしようという試み。制限時間は4時間半。 環境構築 なんだ…