きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

Visual Studio 2013を起動したらアドオンが読み込めない系のエラーが出た話

Visual Studio 2013 を起動したら『'TestWindowPackage' パッケージは正しく読み込まれませんでした』 みたいなダイアログが表示されました。

 

再起動後、テストエクスプローラー とチームエクスプローラーが死亡

例の『詳細は ActivityLog.xml 見てね』的な、…稀によく見るやつです:p

f:id:kiyokura:20151014220512p:plain

ダイアログで通知された通り、テストエクスプローラーが読み込まれていません。 f:id:kiyokura:20151014220541p:plain

さらによくよく見ると、チームエクスプローラーもお亡くなりに……。 f:id:kiyokura:20151014220616p:plain

この際どうでもいいですが、チームエクスプローラーのコンポーネントのGUIDは 312e8a59-2712-48a1-863e-0ef4e67961fc みたいですね*1

 

原因

正直、よくわかりません。10/14のWindows Updateを当てた後の再起動ではあったのですが、Visual Studioを手動で終了させていたにも関わらず、再起動時に「devenvを強制終了しました」的な文字が表示されていました。ので、Windows Updateは関係ない可能性があります*2

 

devenv /setup で修復できた

パッケージ関係でこういったエラーが出た時にはdevenv/setupスイッチを付けて実行するのが定石な気がします*3。 ということで、 - Visual Studioを終了させる - 管理者モードでcmdなりPowerShellなりを起動 - VS2013のdevenv(既定だとC:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE)に移動 - devenv.exe /setupを実行

環境によりますが割と時間がかかることがあるので、しばらく待ちます。

f:id:kiyokura:20151014220700p:plain

実行が終わったあとにVS2013を起動したら……エラーも出ず起動。テストエクスプローラーもチームエクスプローラも無事利用可能な状態になっていました。

#割と焦ったのは内緒

*1:ホントにどうでもいい

*2:隣の席の同僚はWU後も問題なかったし、少なくとも直接の原因ではないと思います

*3:多分

TypeScriptの1.6.2が入ってるはずなのにtsc --versionが1.0.3.0を返したら

WindowsVisual Studio と node.js の両方の環境でTypeScriptを使おうとすると遭遇するかもしれない話です。

1.6.2 入ってるのはずなのに 1.0.3.0?

普段TypeScriptの開発をVisual Studioで行っています。が、ちょっとした理由でnode.jsのtscコンパイルをしたいことが発生しました。 さっそくnpmでTypeScriptの1.6.2をインストールし、コマンドラインからtsc hoge.tsみたいな感じでコンパイルを実行……したら、エラーとか出て文句言われました。

??

…気を取り直してtsc --versionでバージョン確認したら……なんと「1.0.3.0 」というバージョンが返ってきました。 『んなアホな』と思いnpm ls -g typescriptで確認すると、やはりnpmではちゃんと1.6.2が入っている模様。

f:id:kiyokura:20151013221731p:plain

 

環境変数のpathから削除する

原因はVSのアドオンとして入ってるTypeScriptコンパイラのパスが環境変数で設定されているから……でした。 システム環境変数のpathからC:\Program Files (x86)\Microsoft SDKs\TypeScript\のエントリを削除すればOK。私の環境では1.0と1.4のパスが存在していました。

 

削除後、再度tscのバージョンを確認すると、ちゃんと1.6.2が返ってきました。

f:id:kiyokura:20151013221759p:plain

なおこの環境変数を削除しても、Visual Studioからのコンパイルは特に問題ないと思います*1*2

 

まとめ?

なお、いくつか手元の環境を確認した限りこれは1.4までで、1.5以降はVSのTypeScriptアドオンをインストールしても環境変数に追加しないようです*3。ので、最近入れた人は問題ないかもしれません。

*1:MSBuild…というかcsprojのTypeScriptバージョンで指定したバージョンでSDKs以下のコンパイラを直接見るので

*2:もちろん、pathにC:\Program Files (x86)\Microsoft SDKs\TypeScript\のtscが指定されていることを期待して書いてるなにかがあればそれは微妙なことになるでしょうから注意

*3:私の環境を見る限りという話なので、ひょっとしたら正しくはないかもしれません

Logicool M570のマイクロスイッチを交換した

Logicoolトラックボール、M570がついに*1チャタリングを起こし始めました。この商品は3年と比較的長めの補償が付いてるのですが、残念ながら丁度この夏くらいに切れたという…。 (下のアフェリエイトは後継型番のM570t)

LOGICOOL ワイヤレストラックボール M570t

LOGICOOL ワイヤレストラックボール M570t

 

M570オーナーの間ではマイクロスイッチの自力交換ももはやあたり前ということで*2、私もサクッと交換しました。 交換に使ったのは、定番のオムロンのD2F-01F。左右あるし*3、もう一台稼働中のM570もあってどうせそのうちキそうなので、5個セットをamazonで購入。

 

交換は特に手間取ることなくサクサクと。電池ボックスのシールに隠れたビスに気が付かなくてちょっと戸惑ったのは内緒。今回使った道具はこれだけ。やっぱり電動の半田吸い取り器は楽で良いですね。 f:id:kiyokura:20151004230236p:plain

 

左のD2F-01Fが新しく取り付けるもの。右のD2FC-F-7Nがもともとついてたもの。3年以内で結構な数壊れて無償交換になるのも本当に珍しくないようなので、最初からこんな劣化版つけなきゃいいのに、とも思いつつ。 f:id:kiyokura:20151004230127p:plain

*1:M570使ってる人の間では常識になるくらいには当たり前に故障する

*2:商品としてどうなのは思う

*3:右はまだ壊れてないし壊れることもないかもしれないけど、左右でクリック感が異なるのはなんか嫌で……

中国地方DB勉強会で「プロジェクト指向オフライン データベース開発」のお話をさせていただきました

OSC 2015 広島の翌日、同じ会場で開催された第十一回 中国地方DB勉強会 in 広島で、『SQL Server のプロジェクト指向オフライン データベース開発を採用してみた話』というタイトルでお話させていただきました。

 

SQL Server では SSDTを利用することで、Visual Studioをフロントエンドにして開発を行うことができます。単にフロントエンドGUIをSSMS*1からVisual Studio に切り替えるという話ではなく、データベース(内のオブジェクト)をVisual Studioのプロジェクトと看做して扱うことになります。

 

このプロジェクト形式でDBを扱う手法は最初はとっつきにくく感じたのですが、部分的に徐々に利用して行ったところ、開発を進める上で感じていた問題を随分解決してくれた……というのが現時点での感想です。 (私の現時点の理解では、単体テスト機能に過度な期待を持ちすぎるとのはちょっとセーブしたほうが良いかなとも思っています。がこれについてはまだまだ色々試行したいとも思っています)

 

もしSSDTに興味を持たれるようでしたら、資料の最後の方にも書いた通り、まずはスキーマ比較(と同期)の機能とバージョン管理システムをを使って、オブジェクトのバージョン管理を行う等から試用をしてみるのがいいのではないかな、と思います。スキーマ比較やデータ比較の機能だけでもづ随分強力なツールだと思います。

 

あと…。 当日の参加者層*2から、単体テストに関連する機能の詳細やドキュメントからは分かり辛いと感じたこと、カスタマイズのポイントなどについてはざっくりと割愛しました。 近々なんらかの形で共有したいと思っています。

*1:SQL Server Management Studio

*2:SQL Serverの利用者が少ない

OSC 2015 HiroshimaでASP.NET 5とかについてお話させていただきました

9/19(土) オープンソースカンファレンス 2015 Hiroshimaにて「オープンソース&クロスプラットホームとなったASP.NET 5」というタイトルでお話させていただきました。資料はこちら。

ASP.NET 5についてというよりも、マイクロソフトの.NET Framewrok回りのOSS&クロスプラットフォームまわりの状況というか雑感というか、そういうあたりが中心になっている点はご容赦ください。

ASP.NET 5は現在betaでまだまだ破壊的変更も入りそうな気配です。実際にモノを作り始めるならRCを待った方が良いとは思いつつも、気になる点に対してissueを投げたりすることで、ASP.NET自体の開発に参加することも可能だと思います。そういう視点でガンガン触っていくはアリだと思います(ぉ