C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: C#からVBクラスライブラリプロジェクトの参照エラー


(過去ログ 102 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■60962 / inTopicNo.1)  C#からVBクラスライブラリプロジェクトの参照エラー
  
□投稿者/ MSX68000 (1回)-(2011/07/27(Wed) 15:31:15)

分類:[.NET 全般] 

VB(2010)で動作していたプログラムをC#(2010)に変換しております。

プログラムは、1つのWindowsフォームアプリと、
複数のクラスライブラリのプロジェクトで構成されます。

今回変換したのはWindowsフォームアプリのみです。
即ち、1つのC#によるWindowsフォームアプリと、
複数のVBによるクラスライブラリプロジェクトで構成されます。

現在苦しんでいるのはアセンブリ参照エラーについてです。
Windowsフォームアプリにクラスライブラリの参照を全て追加して
usingディレクティブでそれらの名前空間を指定しておりますが
この部分でアセンブリ参照が不足しておりますのエラーとなります。

ここで、該当するアセンブリ参照(プロジェクト参照)をいったん削除して
再度追加すると、エラー表示(コードエディタの赤い波線)は消えます。
そして、インテリセンスも該当する名前空間を表示します。

しかし、これをビルドすると再度おなじエラーとなるのです。

これはすべてのクラスライブラリで起きているのではなく
一部のみです。

参照エラーとなるプロジェクトとそうでないものを見比べても問題となるような箇所が見つかりません。

ちなみに、クラスライブラリの名前空間はデフォルトの名前空間でのみ定義しておりますが、
デフォルトを空欄にしてNamespaceステートメントを書いてもダメでした。

何が原因かサッパリわからなくて困っております。
おなじような経験された方はおられますでしょうか?
引用返信 編集キー/
■60963 / inTopicNo.2)  Re[1]: C#からVBクラスライブラリプロジェクトの参照エラー
□投稿者/ くり太郎 (33回)-(2011/07/27(Wed) 16:05:13)
くり太郎 さんの Web サイト
自分なら、とりあえず次の点を確認してみます。

参照エラーのメッセージはどのようなものが出ているか?
参照しているアセンブリのプロジェクトタイプは、すべてクラスライブラリーになっているか?
プラットフォームの設定は AnyCPU でビルドされているか?
引用返信 編集キー/
■60966 / inTopicNo.3)  Re[2]: C#からVBクラスライブラリプロジェクトの参照エラー
□投稿者/ MSX68000 (2回)-(2011/07/27(Wed) 16:59:18)
No60963 (くり太郎 さん) に返信
> 自分なら、とりあえず次の点を確認してみます。
>
> 参照エラーのメッセージはどのようなものが出ているか?
> 参照しているアセンブリのプロジェクトタイプは、すべてクラスライブラリーになっているか?
> プラットフォームの設定は AnyCPU でビルドされているか?

エラーメッセージの内容は
型または名前空間名 '***' は名前空間 '****' に存在しません。アセンブリ参照が不足しています。
といったものです。
プロジェクトタイプはクラスライブラリーでAnyCPUとなっています。

WindowsフォームアプリのC#へのコンバート前は正常にビルドできておりましたので、クラスライブラリーに問題があるとは考えてなかったんですが、何かしら組み合わせの問題があるんでしょうか。
引用返信 編集キー/
■60981 / inTopicNo.4)  Re[2]: C#からVBクラスライブラリプロジェクトの参照エラー
□投稿者/ MSX68000 (3回)-(2011/07/28(Thu) 10:42:17)
No60963 (くり太郎 さん) に返信
> 自分なら、とりあえず次の点を確認してみます。
>
> 参照エラーのメッセージはどのようなものが出ているか?
> 参照しているアセンブリのプロジェクトタイプは、すべてクラスライブラリーになっているか?
> プラットフォームの設定は AnyCPU でビルドされているか?

本件自己解決しました。

あれからいろいろ試してみて、VBで新規にWindowsフォームアプリを作成して
問題となっているクラスライブラリのプロジェクトを追加すると、エラーと
なったんです。

結局は、クラスライブラリ側の問題でなく、新規作成したフォームアプリの
対象のフレームワークが「.NET Framework4 Client Profile」となっていた
為でした(.NET Framework4が2種類あるなんて知りませんでした)。
これを「.NET Framework4」に変更したらエラーは消えました。

クラスライブラリ側の設定は「.NET Framework4」となっていたんですが、
使用する側もこれと同じにしなくちゃいけないんですね。


解決済み
引用返信 編集キー/
■60983 / inTopicNo.5)  Re[3]: C#からVBクラスライブラリプロジェクトの参照エラー
□投稿者/ shu (884回)-(2011/07/28(Thu) 11:17:32)
No60981 (MSX68000 さん) に返信

> 結局は、クラスライブラリ側の問題でなく、新規作成したフォームアプリの
> 対象のフレームワークが「.NET Framework4 Client Profile」となっていた
> 為でした(.NET Framework4が2種類あるなんて知りませんでした)。
> これを「.NET Framework4」に変更したらエラーは消えました。

Client Profileで全てコンパイルが通るようならClient Profileにした方が
よいと思います。Frameworkのセットアップが楽になります。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -