Web検索はbingがおすすめ!

作成したコンポーネントを配置すると「型名"(コンポーネント形名)"は型"(名前空間).(コンポーネント型名)"に存在しません。」エラーが表示され実行できない - 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を愛用
掲載日: 2012-02-13
iPentec all rights reserverd.