C#メモ iTunesにアクセスするための準備をしてみる

C#,iTunes,プログラミング

忘れるのでメモ。

プロジェクトへiTunesLibというCOMへの参照を追加する。
※この記事ではSampleという名前でプロジェクトを作成。
※大前提として、iTunesがインストールされていること。

  1. ソリューションエクスプローラーを開く。
  2. プロジェクトのアイコンの上で右クリックして"参照の追加(F)…"をクリックする。
  3. 参照の追加画面のCOMタブのリストから"iTunes x.xx Type Library"をクリックしたあと、OKボタンをクリックする。
  4. 参照設定というとこの下に"iTunesLib"というのが追加されていればOK。

で、こんなコードを書いてみる。
とりあえず、iTunesにアクセスするためのクラスをインスタンス化するだけ。

using System;
using System.Collections.Generic;
using System.Linq; using System.Text;
using iTunesLib;

namespace Sample
{
	class Program
	{
		static void Main(string[] args)
		{
			iTunesAppClass iTunes = new iTunesAppClass();
		}
	}
}

で、コンパイルしてみると「相互運用型 'iTunesLib.iTunesAppClass’ を埋め込むことができません。代わりに適用可能なインターフェイスを使用してください。」ってエラー。

今回は.net frameworkのバージョンは4.0。
.net framework 3.5のときは、こんなコンパイルエラーでなかったような…。
合ってるかどうか分からんけど、こんな設定をすると解決した。

  1. 再度、ソリューションエクスプローラーを開く。
  2. 参照のしたのiTunesLibを右クリックして、"プロパティ"をクリックする。
  3. プロパティの"相互運用機能型の埋め込み"を"False"に設定する
    ※何もしなければ、"True"が設定されたはず。

これで根本的な問題を解決できたかどうかは分からないけど、とりあえずメモ。