- PR -

同一ソリューションのクラスライブラリが参照できない

投稿者投稿内容
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2007-04-16 11:00
こんにちは、みなさん。

現在、クラスライブラリを作成しています。検証用にTESTプロジェクトをソリューションに追加して、TESTプロジェクトからプロジェクト参照で作成中のクラスライブラリプロジェクトを参照しているのですが、ビルドで参照エラーとなってしまいます。
エラーメッセージは以下の通りです。
「エラー 1 型または名前空間名 'ClassLibrary1' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。」

行った手順

1、プロジェクト作成で「クラスライブラリ」を作成
2、同一ソリューションにWindowsFormプロジェクトを追加

クラスライブラリソース
namespace ClassLibrary1
{
public class ErrorManeger
{
public ErrorManeger()
{
frmMessage Form1 = new frmMessage();
Form1.ShowDialog();
}
}
}

WindowsFormソース

namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
ClassLibrary1.ErrorManeger cc;
      ↑ここでエラーとなってしまいます。
}
}
}

環境はVisualStudio2005です。

どなたかアドバイスをお願いします。

ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2007-04-16 11:02
test 側の参照設定に ClassLibrary1 を追加しましたか?
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-04-16 11:06
引用:

ぽぴ王子さんの書き込み (2007-04-16 11:02) より:

test 側の参照設定に ClassLibrary1 を追加しましたか?


どうやら、

引用:

FXさんの書き込み (2007-04-16 11:00) より:

TESTプロジェクトからプロジェクト参照で作成中のクラスライブラリプロジェクトを参照しているのですが


いわゆる 「プロジェクト参照」 らしいです。

それはともかくとして、とりあえず、オブジェクト ブラウザで検索でしょう。
完全修飾名の一部が足らないかどうかの 「切り分け」 ができます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
うちうせん
ベテラン
会議室デビュー日: 2003/08/08
投稿数: 96
お住まい・勤務地: 福岡県
投稿日時: 2007-04-16 13:02
クラスのnamespaceがClassLibrary1
フォームのnamespaceがtest
と別のnamespaceになっているためそのままでは参照できません。
フォーム側からクラスを参照するためには
using ClassLibrary1;
という風にClassLibrary1を使用するという宣言が必要です。
それと同時に他の方が言われてるように参照設定にてクラスのdllを追加してあげないといけないです。
その方法は・・・おそらくそう難しくないとは思います><
_________________
by うちうせん
FX
常連さん
会議室デビュー日: 2004/12/06
投稿数: 49
投稿日時: 2007-04-16 15:39
うちせん様、じゃんぬねっと様、ぽぴ王子様

アドバイスありがとうございます。
うちせん様のおっしゃるとおり、DLLの参照を行ったところ問題なく使用できました。
以前のプロジェクト(仕事)でおぼろげな記憶で、同一ソリューションの場合、プロジェクト参照だけで、参照できた記憶があったのでプロジェクト参照しかしておりませんでした。

となると、プロジェクト参照というのはどのような場合に使うものなのか疑問が残りま
す。うーん。

かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-04-16 15:55
引用:

FXさんの書き込み (2007-04-16 15:39) より:

となると、プロジェクト参照というのはどのような場合に使うものなのか疑問が残りま
す。


あれ?この場合プロジェクト参照で進めて問題ないと思うんですが。。。
じゃんぬねっとさんのおっしゃるように、まずは問題を切り分けて考えた方が良いのではないでしょうか?
_________________
かるあ のメモスニペット
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2007-04-16 18:21
引用:

うちうせんさんの書き込み (2007-04-16 13:02) より:
クラスのnamespaceがClassLibrary1
フォームのnamespaceがtest
と別のnamespaceになっているためそのままでは参照できません。
フォーム側からクラスを参照するためには
using ClassLibrary1;
という風にClassLibrary1を使用するという宣言が必要です。
それと同時に他の方が言われてるように参照設定にてクラスのdllを追加してあげないといけないです。
その方法は・・・おそらくそう難しくないとは思います><


うーん、全部違う気がする。
ClassLibrary1.ErrorManeger とフルネームで参照してるみたいだし、
プロジェクト参照もdll参照も参照って意味じゃ同じだし。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-16 19:46
とりあえず、再現する手順下さい。再現させられませんでした。


それと、スペルミス一件、ハンドル間違い一件。
_________________

スキルアップ/キャリアアップ(JOB@IT)