AzureのWebアプリでハマった事

Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

こんな感じでアセンブリがねぇよって言われる。 web.configに

<dependentAssembly>
  <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
  <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>

を追加する。oldVersionのハイフン以降とnewVersionは自分で現在参照しているアセンブリのバージョンを見て書き換えて。

Format of the initialization string does not conform to specification starting at index 0

こんな感じでよくわからん事を言われる。パブリッシュ時の「Code First Migrationsを実行する」のチェックを外そう。

閑話

なーんか、CodeFirstって……どうも肌に合わない。DB直接設計した方がどれ程早いのか、ってケースも多々ある。 まあ、慣れなんだろうなぁ。慣れたらきっと、楽ちんになる。と思う。

ただ、その「慣れたら」って部分に最近問題を感じつつある。DBの設計なんて最初しかしないし、変更は出来るだけ出ない様に配慮するから、慣れる機会があんまりないんだよ……。

なんというか、フレームワークって使いこなせば楽ちんなんだろうけれど。問題が発生した時の原因究明が酷く面倒な事があるし、慣れるまでに時間がかかるとフレームワークを使う意味が無かったりするし。 何でもかんでもフレームワークな昨今、ちょっぴりやりづらい。

さらに閑話

こういうトラブルの解決法って、日本のサイトにはあんまり無い。 いや、全く無いわけじゃないんだけど、ちょっと細かい事になると大体がStackOverflowで外人が回答してる。 うーん、なんでだろ。