こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

2013VB.net 不思議なimportsエラー

OpenCvSharpというライブラリを
既存のVB.netプロジェクトに組み込みたいのですが、上手く動かせません。

Nuget にて 17'11/17版 OpenCVSharp3 をインストールしました。
(その時、正常に追加したとメッセージがでました。)

Imports OpenCvSharp
を記載することができ、エラーもでないのですが、
ビルドをすると、緑の波線とともに以下メッセージが出力します。


「インポート "OpenCvSharp" で指定された名前空間または型が、パブリック メンバーを含んでいないか、または見つかりません。
名前空間または型が定義されていて、少なくとも一つのパブリックを含んでいることを確認してください。
また、インポートされた要素名がエイリアスを使用していないことを確認してください。」

VB.net で「Windowsフォームアプリケーション」指定の空のプログラムを作り、同様の手順でWEBCAMの画像(動画)を取得するソフトは
何のエラーもなく動作します。
(ちなみにX86でもX64でも問題なく動きます。)



「インポートされた要素名がエイリアスを使用していないことを確認してください。」とありますが、
既存のコードで使っている要素名と、今回インポートした要素名の間でなにか不具合がおこっているのでしょうか。

ビルドする前には、実際にインテリジェンス機能がはたらいていて、
Dim img = Cv2.ImRead("c:\cube.jpg")
...
などと、エラーなしで記載することができます。

ビルドすると、途端にインテリジェンス機能がはたらなくなり、
宣言されていないことになってしまいます。


お詳しい方、当問題解決についてご教示いだけないでしょうか。

投稿日時 - 2017-12-11 16:20:14

QNo.9406704

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

参照 該当ライブラリのプロパティー ローカルコピー項目をtrueとか?
出力ディレクリーにコピーするプロパティーでいけませんかね?

投稿日時 - 2017-12-11 17:59:21

補足

各.vb ファイルのプロパティに、[出力ディレクトリにコピー]項目があるので、[常にコピーする]を指定してみました。変わりませんでした。


ビルド前とビルド後に、名前空間がインテリジェンス機能で現れない理由は、
差分を見たところ、
.vbproj ファイルの<NuGetPackageImportStamp> の値が書き換わるのが原因のようです。

ちなみに
「参照 該当ライブラリのプロパティー ローカルコピー項目をtrue」にはたどり着けませんでした。(汗)

投稿日時 - 2017-12-11 18:59:30

お礼

色々やってみたところ、ビルド時に以下のコンテナが消えるのが問題のようです。
より具体的な質問を別にしましたで、
この投稿の問題は未解決となってしまいますが、クローズいたします。

1 OpenCvSharp
2 OpenCvSharp.Blob
3 OpenCvSharp.Extensions
4 OpenCvSharp.UserInterface

<新質問投稿ページ>
https://okwave.jp/qa/q9406778.html

投稿日時 - 2017-12-11 20:10:49

ANo.1

パスが通ってないんじゃないんですか?
1:OpenCvSharpのライブラリを参照されるところか参照するようにする
2:OpenCvSharpのライブラリをプロジェクトから参照に追加してローカルコピー設定にする
のどれかで解決できないですかね

投稿日時 - 2017-12-11 16:45:22

補足

[プロジェクト名 右クリック]-[追加]-[参照]-[参照マネージャ]にて、
「Opencvsharp.dll を読込もうと思ったのですが、
参照は、プロジェクトに既に存在します。」とでます。

別のところですでに参照されているみたいです。

投稿日時 - 2017-12-11 16:50:49

あなたにオススメの質問