ユーザーコントロールをライブラリ化した時に発生するエラーの対処方法です。
XAML追加でコンパイルエラー
クラスライブラリのプロジェクトにXAMLの画面やユーザーコントロールを追加するとコンパイル時にエラーが発生します。- エラー CS1069 型名 'IComponentConnector' は名前空間 'System.Windows.Markup' に見つかりませんでした。
- エラー CS0538 明示的インターフェイス宣言の中の 'IComponentConnector' はインターフェイスではありません。
対処方法
クラスライブラリのプロジェクトを作り直す必要があります。プロジェクトを「WPFアプリケーション」で作成し、プロパティで「クラスライブラリ」に変更します。-
新しいプロジェクトの追加で「WPFアプリケーション」を選択
-
プロジェクトのプロパティを開き、「アプリケーション」内の「出力の種類」を「WPFアプリケーション」から「クラスライブラリ」に変更
-
ファイル「App.xaml」を削除
App.xamlはクラスライブラリでは不要なので削除します。削除しないと次のコンパイルエラーが発生します。
検証環境
- Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3
- Microsoft .NET Framework Version 4.6.01055
- Microsoft Windows 7 Professional Service Pack 1 (Microsoft Windows NT 6.1 (7601))