意味悲鳴

PythonとかUnityとか.技術ブログでしたが,研究ブログにシフトしました.

VS2015のC#インタラクティブウィンドウでerror CS0234が出た時

こんばんは.Visual Studio2015 Update1が来ましたね.いぇーい.
個人的に目玉だったのがインタラクティブウィンドウです.対話式で書けるので,ちょっと試したい時にとても便利ですよね.と思ったら実は普通に拡張機能で存在していたそうで
そんな時にこんな事例に出会いまして.

> using System.Windows.Forms;
(1,22): error CS0234: 型または名前空間の名前 'Forms' が名前空間 'System.Windows' に存在しません (アセンブリ参照があることを確認してください)

#helpを読めば分かるんですけど,先にアセンブリ参照を追加してあげないと行けないみたいです.めんどくさいですね.

上記した例の場合は,以下の様に打ってエンターをおした後に,再度usingすれば大丈夫.

> #r "System.Windows.Forms.dll"

でもこのアセンブリってどこ見れば分かるのって話なんですが,今のところ自分の中で一番手っ取り早いのはMSDNで検索して確認することです.

たとえばSystem.Windowsという名前空間にあるVector構造体を用いたい場合を考えてみます.ググったら以下のページに辿り着きました.

Vector 構造体 (System.Windows)

ページ真ん中のこの部分に注目すると.

名前空間: System.Windows アセンブリ: WindowsBase (WindowsBase.dll 内)

アセンブリが書いてあるので,これをそのまま指定してあげてそのあと先程と同様にusingで名前空間を指定すればOK.

> #r "WindowsBase"
> using System.Windows;

他に考えられるのはオブジェクトブラウザーで検索する方法.
ソリューションで作業しているときは,ソリューション内で使っているアセンブリから検索ができるので割りと早く見つかる.

f:id:zyusou:20151215201851p:plain

検索するとなんかこんな感じで出てきます.これをクリックすると,

f:id:zyusou:20151215201918p:plain

下の方になんか出てきます.ここをクリックすると,

f:id:zyusou:20151215202027p:plain

わかりました.という感じです.ブラウザ開きたくない時とかはいいのかも?

わからないことが多くてググッてばかりの私には,オブジェクトブラウザーから見るのはちょっと面倒に感じたんですが.