作成したコンポーネントを配置すると「型名"(コンポーネント形名)"は型"(名前空間).(コンポーネント型名)"に存在しません。」エラーが表示され実行できない - C#
独自に作成したコンポーネントをフォームなどに配置しコンパイルすると「型名"(コンポーネント形名)"は型"(名前空間).(コンポーネント型名)"に存在しません。」エラーが表示されコンパイルが通らないことがあります。
原因1
コンポーネントのクラスをPublicにしていないことが原因の可能性があります。
エラー例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
namespace MyLibrary
{
class UIManager : Component
{
...(中略)
}
}
class UIManager : Component
の部分がPrivareになっているため、フォームに配置してもコンポーネントの参照ができません。
修正したコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.ComponentModel;
namespace MyLibrary
{
public class UIManager : Component
{
...(中略)
}
}
コンポーネントクラスのアクセス権をPublicにします。
原因2
名前空間とコンポーネント名が同じ場合に起きる場合があります。名前空間名とコンポーネント名を違う名前にします。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用