9

開発用マシンで正常に動作する単純な VB.NET アプリケーションを作成しました。

ただし、別のマシンでは、.NET Framework がインストールされていても、起動時に System.InvalidOperationException でクラッシュします。

Visual Basic アセンブリの検索に問題があるようです。

これは失敗の 1 つです (機密情報を 3 つのドットに置き換えました)。

*** Assembly Binder Log Entry  (16/06/2013 @ 15:45:12) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Running under executable  C:\Users\....
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = ...
LOG: DisplayName = Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0,    Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
LOG: Appbase = file:///C:/Users/......
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = MSystemAdmin.exe
Calling assembly : MSystemAdmin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: No application configuration file found.
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: Microsoft.VisualBasic.PowerPacks.Vs, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/.../Desktop/Microsoft.VisualBasic.PowerPacks.Vs.DLL.
LOG: Attempting download of new URL file:///C:/.../Desktop/Microsoft.VisualBasic.PowerPacks.Vs/Microsoft.VisualBasic.PowerPacks.Vs.DLL.
LOG: Attempting download of new URL file:///C:/.../Desktop/Microsoft.VisualBasic.PowerPacks.Vs.EXE.
LOG: Attempting download of new URL file:///C:/.../Desktop/Microsoft.VisualBasic.PowerPacks.Vs/Microsoft.VisualBasic.PowerPacks.Vs.EXE.
LOG: All probing URLs attempted and failed.
4

4 に答える 4

1

どうやら、「PowerPacks」に問題があるようです。これらは、Visual Studio (フォーム デザイン パーツの [ツールボックス] の下) で既定で提供されるものに対する追加のコントロールです。ターゲット コンピューターに必要なパッケージをインストールすると、すべてがうまくいくはずです。

私は過去にこの問題を抱えていましたが、これらの要素に依存しないことをお勧めします。これらの要素には、あると便利な機能 (私の場合は楕円形) が含まれていますが、少し手間がかかり、より単純なオブジェクトに置き換えられる可能性があります。プログラムを多かれ少なかれ幅広い聴衆に販売したい場合、これに依存することは問題になる可能性があります.このパッケージはデフォルトでは事実上すべてのコンピューターにインストールされないため、クライアントにインストールを進めるよう依頼する必要があります. これらの特定のコントロールを見つけるのは簡単です。「ツールボックス」では、「PowerPacks」などの下にリストされているはずです。


Hans Passant のコメントを読んだ後、実行可能ファイルと同じディレクトリに .dll ファイルを配置する必要があることを思い出しましたが、提供されたリンクから PowerPacks パッケージをとにかくインストールする必要があるという印象を受けました (少なくとも、 Visual Studio がインストールされていないコンピューターの場合)。

于 2013-06-16T14:15:33.193 に答える
0

新しい Windows 10 マシンで Visual Studio を Visual Studio 2013 から Visual Studio 2015 にアップグレードしていました。そうすることで、プロジェクト フォルダーを Windows 7 マシンから Windows 10 マシンの同じパスにコピーしました。

MS.VB.PowerPacks.VS を使用するプロジェクトを開くと、ファイルが見つからないと通知されました。MS.VB.PowerPacks.VS バージョン 12.0.0.0 の最新のインストールをダウンロードしました。Visual Studio 2015 は、PrintForm を使用するフォーム ページを空白にし、次のように通知しました。

System.IO.FileNotFoundException: ファイルまたはアセンブリ 'Microsoft.VisualBasic.PowerPacks.VS、バージョン 10.0.0.0 を読み込めませんでした。

参照を vcersion 12.0.0.0 に変更しましたが、それでも認識されませんでした。

私の修正: C:\Program Files(x86)\Reference Assemblies\Microsoft\VBPowerPacks\v10.0Windows 7 マシンから Windows 10 マシンにフォルダーをコピーしてから、v12.0.0.0 参照を削除し、v10.0.0.0 参照をプログラムに追加しました。その後、プロジェクトを終了して再度開いたところ、すべて問題なく、フォームが元の美しさで表示されました。

于 2016-08-03T13:02:58.613 に答える