C#

10年以上C#を書いた人がPythonで覚えたことの備忘録

10年以上C#で開発してきて、Pythonを使うことになったので印象に残っているC#のこれはPythonだとこう書くっていうのを備忘録として残しておくので、参考になれば幸いです。 基本的な型 List Dictionary 制御文 for foreach 基本的な型 List //初期化 var lis…

WebView2を使ってブラウザごとにユーザプロファイルを作成する方法

C#

FormのロードイベントなどWebViewが初期化されるタイミングで、下記の環境設定をいれることでプロファイルの保存先を自由に変更することが可能です。 WebView2のインスタンスごとにプロファイルの保存先を設定すれば各WebView2で異なるプロファイルを保持で…

AWSSDK.RDS/スナップショット作成

CLIではなく、あえてC#で作ってみる CLIやWebコンソールから行える、RDSのスナップショットの作成をC#から行います。 パッケージ www.nuget.org 前提 Visual Studio 2019 .NET Framework 4.7.2 Consoleアプリケーション AWSSDK.RDS 3.5.8 ソースコード using…

Webのスクショ取得が専門です

スクリーンショット、スクショ Windowsの場合は、”PrintScrn”キーを押すと一発でデスクトップのスクショが取れる。特定のウィンドだけが欲しい場合には”Alt”+”PrintScrn”で一番手前にあるウィンドのスクショがとれるさらに、特定の範囲だけ欲しいと思えば、W…

Lync SDKのContactCardを使う

(Lync SDK 2013 user ContactCard set user add) Lync SDKのWPFコントロールにContactCardがありますが、これの初歩的な使い方として、任意のユーザを表示させる実装が不明で悩んだのでメモ UIコントロール ツールボックスからContactCardを適当に配置 実装 …

Nugetパッケージマネージャーのインストールと更新オプションでハマった件

(nuget package manager install option dependency) VS2015が出て半年が経ったこの頃、1年ほど前から社内でNugetの使用が検討&検証されていましたが本格導入が決まり、自社製の共通ライブラリからNugetpackage作成 → パッケージ参照に変更をやっていると、…

ClosedXMLでエラー”The header row contains more than one field name '0'.”

(ClosedXML The header row contains more than one field name) サーバ側でExcelファイルを操作必要があり、MSExcelを使うまでもないことなので、ClosedXMLを使用してXLSXファイルを読み書きしてたら突如なぞの例外発生 特定のファイルを開くときにエラーに…

Web Deployを使ってファイルの配置

(Web Deploy 3.0 Microsoft.Web.Deployment C# -preSync -postSync) Microsoft Web Deploy3.0を使ってリモートサーバに簡単に配置することが可能です。 基本的には、VisulaStudioから実行するかmsdeploy.exeをコマンドラインから実行するかになります。 が様…

【LyncSDK】IMの受信をキャプチャしてみる

(Lync SDK received text) 前に、相手を指定して、新しい会話を始めるサンプルを作成しました。 会話作成後に交わされたIMをキャプチャしてみます。 準備 LyncSDKをインストールすると、WPFとSilverlightのプロジェクトテンプレートが作成されますが、それを…

LyncSDKを使ってみた

(Lync SDK 2013) Skype for Businessに対応している、LyncSDK2013をやっとこささわり始めました。 特にこれといって作りたい物があるわけではなく、こんなことできるんだーレベルで触っています。Officeアプリの拡張ができるVSTOと違って、Skype for Busines…

LyncSDKで特定のコンタクト状態を取得する

(LyncSDK get contact state) 先日から使い始めたLyncSDKほとんど、使い込んでないですが、とりあえずやりたかったコンタクトの状態取得が出来ました。思ったよりSDKのI/Fがわかりやすく調べなくてもメンバ情報をみてればわかるレベルになっています。 実装 …

Lync SDK 2013使ってみた。

LyncSDKを使ってみたいと思って1ヶ月ぐらい経ったことでしょう。やってみよう。 LyncSDKは、MSが提供しているSDKの中ではかなりわかりやすい、面白いと感じました。開発の概要はSlideShareにいい感じのがありました。 Lync 2013 API カスタマイズアプリ開発 …

【VSTO】選択中のメールアイテムを取得する

(VSTO Outlook selected mail item) OutlookのメールをCSVに出力したいって話が出たのでやってみました。その話は突如やってきた要件 「Outlookで受信したメールをCSVに出力してExcelで管理したい」(゚Д゚;)(;つД⊂)ゴシゴシ(゚Д゚)え?なんか、いろいろ間違った業…

Nugetパッケージでリリース前のパッケージ

Nugetから取得するパッケージは基本的には、安定バージョンですが、プレリリース版(β版とか)も取得出来ます。プレリリース版は、その名の通り次期バージョンで、公開する側からするとβ版やα版の位置づけです。 プレリリース版の便利なところは、使う側が任意…

MSBuildを使ってクロスターゲットビルド

(Msbuild .net version target) 常に最新の.Net環境を使う事ができればいいのですが、どーしても未だに.Net3.5の環境とか残っています。 もちろん、最新の4.5.2の環境もあります。そんな時どうします?1つは、ターゲットランタイム別にプロジェクトを作成し…

【VAOT】複数個のリボンの読み込みを行う

(VAOT Xml Multi Ribbon Load) 一つのアドインの中で、いろんなとこにリボンを追加したい場合にはちょっと一手間と制約があります。アドインをOutlookなどのOfficeアプリが読み込み時に、対象となるリボン読み込み処理があります。 public partial class Thi…

C#でLZ4を使ってみた。

C#

LZ4を使ってみました。 速い。非常に高速な圧縮アルゴリズムです。GZipとの比較だと3割ほど速く、圧縮率はGZipに3割劣るいった結果でした。 ※圧縮対象次第で結果は変わるのでなんとも言えませんが。速いと嬉しいです。 JSONのデータをDBに格納する際に、…

【VSTO】Outlookで添付されたファイルを強制的にZIPに圧縮する

添付ファイルツールでは、任意に圧縮を行い添付します。 あくまでも、ユーザーが添付ファイルツールで"圧縮して添付"を行ったときのみ。そうではなく、無条件に圧縮し添付することもできます。「ドコで使うの?!」 「なんか困った時!」 実装 添付を行った…

【VSTO】Outlookのインライン返信対応のアドイン

(VSTO Outlook Addin Inline Response) Outlook2013からインライン返信の機能が追加されています。 メール返信時に新規ウィンドではなく、Outlookの画面内にメール編集画面が表示されるというタブレット向けの機能です。規定値で、有効になっていて、 オプシ…

【VSTO】Outlookで添付ファイルチェック

VBAでよくある、添付忘れ防止するアレです。今回は、リボンの追加を行いません。 Outlookアドインのプロジェクトを作成してThisAddIn.csに以下のコードを追加するだけです。 Outlook.Application application; private void ThisAddIn_Startup(object sender…

メッセージ編集画面でMailItemオブジェクトの操作(ビジュアルデザイナ編)

リボンが登録されたメッセージ編集画面のMailItemオブジェクトを操作して宛先とかCCとか添付ファイルとか設定/削除可能です。とっかかりは難しく感じ、よくよく真面目にMSDNとかI/F定義を読めば簡単なことだったんですよね。 VSTOの開発やってる人も少なけれ…

Officeアドインで非同期処理

Officeアドイン(VSTO)を作るときは、.NetFrameworkのFull機能を使えるのでRESP API使って見たりWCF使ったりなんでもできるけど、時間のかかる処理だとやっぱりアプリが応答なしになります。Taskクラスとか使って非同期で処理して結果をUIスレッドに戻そうと…

Outlookアドイン

先日公開したOutlook添付ツールが想像以上に好評でした。ダウンロードしてくれた皆様には感謝感激雨嵐。Outlookのアドイン作ってみませんか?簡単ですよ!リボンUIなんて作ったことが・・・ いやいやWindowsFormの開発経験があれば余裕ですよ 細かいことは気…

Dapperで匿名型を使う

Dapper便利ですよね。いまさら最近使い始めました。オブジェクトにマッピングしてくれるのは楽でいいんだけど、ちょこっとSELECT発射したいときにオブジェクト定義するのは手間だよね。 dynamic? VSのIntelliSenseが効かないよね?( ゚д゚)ハッ! 匿名型渡せばい…