トップ回答者
一部表示しないフォームがあります(指定されたファイルがみつかりません)。

質問
-
VB2010---Win7
サーバー:SQL2005 (Windows Server 2003R2)上記の環境で、VBでコードを書いています。
自宅で、サーバーを設置しデータベースソフトを作成しています、問題なく動いています。
(まだ、全部が完成ではないですが)
試験用に、会社にも同じ(?)環境を作成しました。
同僚に見てもらうためです。
会社のサーバーは、新設PCで、同じSQL2005(Windows Server 2003R2)。 クライアントPCは、ここにVirtualで作成しました。(設定は、私はできないので専門家に依頼)
ほとんど(90%以上)は動くのですが、4か所ほど表示しないフォームがあります。
エラー表示は、最後に記します。
1.そのフォームを、メニューの他のボタンに持って行っても開きません、エラー表示します。
複雑なフォームではありません。
2.元のボタンに、他のフォームをもってくると、他のフォームなら表示します。
3.そのフォームのコード(Form_Load)に問題があるかもと考え、Form_Load内のコードの大半を削除し、
TextBoxに指定の文字(例:AAAA)を表示するコードを一行だけ残しました。ついでに、Form_Load以外のものも全て削除。
自宅では、そのフォームは正常に表示します(一つのTextBoxに、文字がぽつんと表示されるだけですが)。
デザイナー関係のコードは背後で自動作成されるので、触っていません。
ですが、会社の実験環境では、そのフォームは、そうやっても表示しません(エラー表示)。4.会社の環境でのクライアントPCには、Visual Studio 2010等は入れていません。.NetFrameWorkのみです。
表示されるエラー:
”ファイルまたはアセンブリ 'Microsoft.VisualBasic.PowerPacks.Vs,Version=10.0.0.0,Culture=neutral,
Publickey Token= b03f5f7f11d50a3a’、またはその依存関係の一つが読めません。 指定されたファイルがみつかりません。”
原因と解決法について、教えていただけますか?
1.作成したコードに問題は無いと思うのですが(自宅では正常なので)。
2.「指定されたファイル」とは、何ですか?
3.会社の環境、例えば.NetFrameWorkに問題があるのでしょうか? Version違いとか?よろしく、お願いします。
YKsaila
回答
-
VB2010---Win7
サーバー:SQL2005 (Windows Server 2003R2)上記の環境で、VBでコードを書いています。
自宅で、サーバーを設置しデータベースソフトを作成しています、問題なく動いています。
(まだ、全部が完成ではないですが)
・・・・・・ですが、会社の実験環境では、そのフォームは、そうやっても表示しません(エラー表示)。4.会社の環境でのクライアントPCには、Visual Studio 2010等は入れていません。.NetFrameWorkのみです。
表示されるエラー:
”ファイルまたはアセンブリ 'Microsoft.VisualBasic.PowerPacks.Vs,Version=10.0.0.0,Culture=neutral,
Publickey Token= b03f5f7f11d50a3a’、またはその依存関係の一つが読めません。 指定されたファイルがみつかりません。”もしかすると、以下のスレッドが参考になるかもしれません。
Microsoft.VisualBasic.PowerPacks.Vsの参照について
ひらぽん http://d.hatena.ne.jp/hilapon/
- 回答としてマーク yksaila 2013年4月18日 22:31
-
たぶん、Visual Basic Power Packs というカテゴリに入っているコントロール・アイテムを利用されているのでしょう。(LineShape とか)
このアセンブリは .NET Framework には含まれていませんので、別途インストールする必要があります。
ひらぽんさんがリンクされているスレッドに、再頒布パッケージの話とかも書いてあるので参考にしてみてください。あるいは、Visual Basic Power Packs に属するコントロールなどを削除し、参照設定からも削ってコンパイルし直すかですね。
それは環境要件などによるので、どちらにするかは自分で検討してください。- 回答としてマーク yksaila 2013年4月18日 22:31
-
エラーメッセージを見ると、皆さんが言われているようにVisual Basic Power Packsがインストールされていないからだと思いますが、気になったのは、TextBoxを一つ残しただけでもまだエラーが出ているということです。そのフォームのInitializeComponentに、何かVisual Basic Power Packs関連の記述が残っていないか確認してみて下さい。
InitializeComponentは、ナビゲーションバー(コードエディタのすぐ上に表示されているコンボボックスが2つ左右に並んでいるもの)より、左のコンボボックスにフォームのクラス名、右のコンボボックスにInitializeComponentを選択すると表示されます。★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク yksaila 2013年4月18日 22:43
-
Azuleanさんへ
有難うございます。 助かりました!
フォームのデザイナーコードの中に、Visual Basic Power Packs関連コードがありました。
たしかにLineShape を使用しています(フォームに横線を引いています)。 まず、これに関係しているコードを削除しました。
で、その代わりに、メニュー画面のコマンドボタン(例:F_User_Information を開くボタン)の中に
下記のコードを入れました(フォーム表示としては、同じです)。
Dim MF As New F_User_Information
Dim g As Graphics = MF.CreateGraphics
MF.Owner = Me
MF.Show()g.DrawLine(Pens.Black, 12, 350, 708, 350)
当初は勉強のため、このコードで線を描いていましたが、LineShapeのほうが簡単なのでいくつかのフォームではLineShapeを使用しています。Visual Basic Power Packsがインストールされていない環境(クライアントPC)もありますので、上記のコードで線を引くほうが無難ということですね。
まだ、会社の環境で実験していませんが、多分表示すると思います(結果は、ご報告します)。
YKsaila
すべての返信
-
VB2010---Win7
サーバー:SQL2005 (Windows Server 2003R2)上記の環境で、VBでコードを書いています。
自宅で、サーバーを設置しデータベースソフトを作成しています、問題なく動いています。
(まだ、全部が完成ではないですが)
・・・・・・ですが、会社の実験環境では、そのフォームは、そうやっても表示しません(エラー表示)。4.会社の環境でのクライアントPCには、Visual Studio 2010等は入れていません。.NetFrameWorkのみです。
表示されるエラー:
”ファイルまたはアセンブリ 'Microsoft.VisualBasic.PowerPacks.Vs,Version=10.0.0.0,Culture=neutral,
Publickey Token= b03f5f7f11d50a3a’、またはその依存関係の一つが読めません。 指定されたファイルがみつかりません。”もしかすると、以下のスレッドが参考になるかもしれません。
Microsoft.VisualBasic.PowerPacks.Vsの参照について
ひらぽん http://d.hatena.ne.jp/hilapon/
- 回答としてマーク yksaila 2013年4月18日 22:31
-
たぶん、Visual Basic Power Packs というカテゴリに入っているコントロール・アイテムを利用されているのでしょう。(LineShape とか)
このアセンブリは .NET Framework には含まれていませんので、別途インストールする必要があります。
ひらぽんさんがリンクされているスレッドに、再頒布パッケージの話とかも書いてあるので参考にしてみてください。あるいは、Visual Basic Power Packs に属するコントロールなどを削除し、参照設定からも削ってコンパイルし直すかですね。
それは環境要件などによるので、どちらにするかは自分で検討してください。- 回答としてマーク yksaila 2013年4月18日 22:31
-
エラーメッセージを見ると、皆さんが言われているようにVisual Basic Power Packsがインストールされていないからだと思いますが、気になったのは、TextBoxを一つ残しただけでもまだエラーが出ているということです。そのフォームのInitializeComponentに、何かVisual Basic Power Packs関連の記述が残っていないか確認してみて下さい。
InitializeComponentは、ナビゲーションバー(コードエディタのすぐ上に表示されているコンボボックスが2つ左右に並んでいるもの)より、左のコンボボックスにフォームのクラス名、右のコンボボックスにInitializeComponentを選択すると表示されます。★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク yksaila 2013年4月18日 22:43
-
Azuleanさんへ
有難うございます。 助かりました!
フォームのデザイナーコードの中に、Visual Basic Power Packs関連コードがありました。
たしかにLineShape を使用しています(フォームに横線を引いています)。 まず、これに関係しているコードを削除しました。
で、その代わりに、メニュー画面のコマンドボタン(例:F_User_Information を開くボタン)の中に
下記のコードを入れました(フォーム表示としては、同じです)。
Dim MF As New F_User_Information
Dim g As Graphics = MF.CreateGraphics
MF.Owner = Me
MF.Show()g.DrawLine(Pens.Black, 12, 350, 708, 350)
当初は勉強のため、このコードで線を描いていましたが、LineShapeのほうが簡単なのでいくつかのフォームではLineShapeを使用しています。Visual Basic Power Packsがインストールされていない環境(クライアントPC)もありますので、上記のコードで線を引くほうが無難ということですね。
まだ、会社の環境で実験していませんが、多分表示すると思います(結果は、ご報告します)。
YKsaila
-
trapemiyaさんへ
有難うございます。
残したのはコードの中では一個のTextBoxについての記述のみですが、デザイナー画面はそのままでした。
ですから、デザイナーに関するコードを見ましたら、Visual Basic Power Packs関連コードがありました。
詳細は、Azuleanさんへの返信に書きましたのでお読みください。
>InitializeComponentは、ナビゲーションバー(コードエディタのすぐ上に表示されているコンボボックスが2つ左右に並んでい>るもの)より、左のコンボボックスにフォームのクラス名、右のコンボボックスにInitializeComponentを選択すると表示されま>す。
上記については、探しても見当たりません。 再度見てみますが、 表示方式が違うのでしょうか?
ま、でも、できたから、いいことにしましょうか(会社の環境での実験が未だですが)。
YKsaila
- 編集済み yksaila 2013年4月19日 12:41
-
yksaila さま よろしく。
途中から首を突っ込みます、皆様、失礼します。
可笑しいですね、InitializeComponent 表示されませんか。 それでは、
ソリューションエクスプローラ で左から2番目のアイコン 全てのファイルを表示 をクリックし
該当する Form_xxx.vb の配下の Form_xxx.Designer.vb を選択し
その中に、以下で始まるブロックを探して下さい。'Windows フォーム デザイナで必要です。 Private components As System.ComponentModel.IContainer 'メモ: 以下のプロシージャは Windows フォーム デザイナで必要です。 'Windows フォーム デザイナを使用して変更できます。 'コード エディタを使って変更しないでください。 <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent()
これが該当するものです。
- 編集済み ShiroYuki_Mot 2013年4月19日 0:56 お名前を訂正 失礼しました
-
上記については、探しても見当たりません。 再度見てみますが、 表示方式が違うのでしょうか?
ナビゲーションバーが表示されていないということでしょうか? ナビゲーションバーの表示/非表示を切り替えるには、以下を参考にして下さい。
今日のワンポイント : ショートカット キーでナビゲーション バーにアクセスする方法- #100
http://blogs.msdn.com/b/vstipsjpn/archive/2008/08/21/8386320.aspxRemove the Navigation Bar
http://blogs.msdn.com/b/zainnab/archive/2010/06/05/remove-the-navigation-bar-vstiptool0028.aspx#あれ? VBだとグレーアウトしてますね。必ず表示されるように仕様が変更になったのかなぁ? 少し調べてみたのですが、わかりませんでした。
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
-
Versionが違うせいだと思います。
目的のコードは、ソリューションエクスプローラで該当するフォームをクリックすると、そこにデザイナー(~designer.vb)がありそれをクリックしますと、デザイナーコードが表示されます。そこに、ありました。
もちろん、そこからでも行けるのですが、例えば以下のページを見るとVB2010にもナビゲーションバーがあるようです。
Visual Basic 2010でのプログラミング手順
http://infotechfactory.biz/vb/vb2010foundation/2/1.html★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/