C#
さすがM$、名前付きパイプがマシンを跨いでるじゃないか!IPCとか言うから騙されたよ・・・
try { _taskRead.Wait(_canceller.Token); } catch (OperationCanceledException) { } _taskRead.Dispose(); こんなコード(もっと上のほうでCancel()してる)の3行目でException発生 System.InvalidOperationException タスクを破棄できるのは、そのタスクが…
まだ検討中という段階だけど、使えるなら棒読みちゃんの名前付きパイプI/Fを使おうかと・・・
まだサンプルレベルですが、技術的に難しくはないことが分かったという話です。
単品でnunit-guiとかすると文字化けとかして焦りますが、MonoDevelopにはNUnitが統合されてて普通に使えます(文字化けとかない)。
うちの環境はさらにこのパッチも当ててしまった。影響のあるユーザーも出そうなパッチ。 でもこちらの方がマジックナンバーもないしTimeZoneInfoを潔く捨ててるのが気持ちいい。 diff --git a/CaveTubeClient/JavaScriptTime.cs b/CaveTubeClient/JavaScript…
結局こんなパッチになりました。蛇の道は蛇ということで。 diff --git a/CaveTubeClient/JavaScriptTime.cs b/CaveTubeClient/JavaScriptTime.cs index 37ddd56..38f5b3a 100644 --- a/CaveTubeClient/JavaScriptTime.cs +++ b/CaveTubeClient/JavaScriptTim…
無理でした。どうにもなりません。
とりあえずMono/LinuxにXmlPreloadedResolverがない問題を以下のダミー実装を使うことで解決しました。 class DummyXmlResolver : XmlResolver { protected Stream _stream = null; protected Uri _uri = null; public override ICredentials Credentials { …
.NET Framework 4.5→4.0の変更は、面倒ではあっても困難に直面するというほどのことではありませんでした。主にawait/async関連の書き直しだけだったので(それでもタイミングが変わるなどの余波があり、テストが通らなくなって焦りました。)。しかし、プラッ…
.NETも試行錯誤でしたが、さらに今回はMonoに挑戦してみました。
コメント読むプログラムを書きました。 using System; using System.IO; using System.Net; using System.Text; using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Xml; using System.Xml.Resolve…
まだそこら辺の適当な実装をたらたらと休み休みしているわけですが、クロージャが一般に使われるようになってワンライナーのような長ったらしい一筆書きの実装に囲まれつつある現在、型に強い制約を与えて変更しようものなら大きな余波が出まくるinterfaceを…
Moqでテストコードを書こうとすると、どうしてもパッケージ/名前空間の境界で外から見えるようなクラスはinterfaceにしておかないとうまいこと単体テストできません。生成するインスタンスは全部interfaceにしておいたほうがいいでしょう。そうなるとFactory…
Moles最高という記事をよく見かけるもののExpressでは何かのガードに弾かれてるのかインストールできない。結論からいうといいのがなかったから教えてくださいって話なんだけど・・・
いや本当にマジで StreamのReadAsyncとかにはついてるのになぜ? というかこんな渡せたり渡せなかったりするもので組めるか!!
今までは必要ならDoxygen使ってました。でも今回はどうせ.NETならということでSandcastleを使ってみました。ちなみにソースコメントってこんなやつです。 /// <summary> /// 停止する /// </summary> public void Stop() { Dispose(); } Visual Studioだと///を入力した瞬間にシ…
javaだとequalsTo()じゃないとダメって怒られるけど、.NETってどうなんだっけ? 今更ながら調べてみた。
.NETの非同期処理が段々分かってきた。
テストも成功してるしなになにどうして?って思った。
汚くてもエラー検出ゼロのゆるゆるで実用性ゼロでもせっかくデバッグしたので時間を測ってみた。
古い同期機構らしいけど、一番適切だったのでさっきの問題解決に使いました。Javaのsynchronizedとwaitとnotify/notifyAllそのものだった。
たまげた。すごいよ兄さん。
VSTest.Console.exe だそうだ(2010ではMSTest.exeらしい。これも互換用についてると書かれているが2012Expressにはついてなさそう。)。使い方詳細とかはこちら。これでOpenCoverで使えそうなんだけどいらないし確認もしてない。
カバレッジ測定したいなーと思って探していたら、とりあえずM$の有償テストツールを使うか、どうやら製品になってしまったらしいNCoverを使うか、無償だけど開発が止まってるPatCoverがあるらしい。そもそもNUnitの付属品だと思ってたNCoverが有償だったとは…
今更ですが初めてなんだもん
${threadid}で表示された。こんな感じ。 <target name="console" xsi:type="Console" layout="${level}[${threadid}]: ${message}" /> awaitの前後でスレッドIDが変わるのが見て取れたりして面白い。 とりあえず簡単そうだったので使ってるんだけど使ってる人いるんだろうかNLog。</target>
日付などが変わって新しいログファイルが出来たらそれに監視対象を変更する処理を入れています。新しいファイルができたことを監視できそうなクラスが題名にあるFileSystemWatcherです。
これ使ってたんだけど問題が・・・
ようやくんなんとなく理解しつつあるがどうにも理解できない