- PR -

VS2008 VB.net で作ったプログラムが他のPCで動きません。

投稿者投稿内容
くろは
会議室デビュー日: 2006/12/14
投稿数: 8
投稿日時: 2008-06-13 11:54
開発環境
WindowsXP-Pro SP3
VisualStudio2008 vb.net
.net Framework 2.0

フォームにテキストファイルをドロップするとエクセルファイルを吐き出すだけの単純なプログラムです。
開発環境でexeを実行すると問題なく機能しますが、別のパソコン(WindowsXP-Pro SP2 .net Framework2.0)でexeを実行すると、フォームは表示されますがファイルをドロップしても動きません。

それでは、と、インストーラーを作ってインストールしようとしたところ、
「このアプリケーションをインストールまたは実行できません。このアプリケーションでは、まずグローバルアセンブリキャッシュ(GAC)にアセンブリWindowsBaseバージョン3.0.0.0をインストールする必要があります。」
となってしまいました。

昨晩からネットで情報を調べていますが手がかりすら掴めていない状況です。
きっと初歩的なことだとは思いますが、教えていただけますでしょうか?
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2008-06-13 12:21
メッセージのとおり、バージョン違いです。
.NET Framework 3.5を入れればOKかな?
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-06-13 12:51
引用:

くろはさんの書き込み (2008-06-13 11:54) より:
開発環境
WindowsXP-Pro SP3
VisualStudio2008 vb.net
.net Framework 2.0



確か VisualStudio 2008 って、新しいプロジェクトを作成するときにフレームワークのバージョンを選べたと思うのですが、そこで .NET Framework 2.0 を選んでいてもだめだった、ということでしょうか?
カドルドエグ
常連さん
会議室デビュー日: 2008/05/29
投稿数: 25
投稿日時: 2008-06-13 14:24
以前、ASP.NETの基礎を教える勉強会に参加したのですが、
そこで
「VS 2008は確かに.NET Frameworkのバージョンを選べるが、実際に動いているコンパイラは3.5」
と聞きました。
恐らくそれが原因ではないでしょうか。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-06-13 14:46
引用:

カドルドエグさんの書き込み (2008-06-13 14:24) より:
以前、ASP.NETの基礎を教える勉強会に参加したのですが、
そこで
「VS 2008は確かに.NET Frameworkのバージョンを選べるが、実際に動いているコンパイラは3.5」
と聞きました。
恐らくそれが原因ではないでしょうか。



興味を持ったので調べてみました。

http://vsug.jp/tabid/178/articleid/23/Default.aspx
このコラムによれば、(引用の順番が前後しますが)
引用:

VS2008 の複数のフレームワークへの対応は、指定されたフレームワークに対応したライブラリを読み込むことによって行っていると考えられます。そして、コンパイラは常に Ver 3.5 のコンパイラを利用しているようです。


引用:

.NET Framework 3.5 の実行環境(CLR)は Ver 2.0 から変わっていません。ライブラリの関係でみると、Ver 2.0 の環境に 3.0 用のライブラリと 3.5 用のライブラリが追加されたものが .NET Framework 3.5 であると言えます。
このため、Ver 3.5 上でコンパイルしたプログラムは、3.0 や 3.5 で追加したライブラリを利用していなければ、2.0 の実行環境で正しく動作するのです。



なので作成したプログラムが .NET Framework3.0 or 3.5 で追加されたライブラリの機能を使用していないかどうか、確認するとよいのかな?

もしくはかずくんさんの仰る通り、実行環境の .NET Framework のバージョンを上げるか、ですね。

[ メッセージ編集済み 編集者: rain 編集日時 2008-06-13 14:48 ]
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-06-13 15:35
VS2008のインストーラは.NET Framework2.0に対応していないような話をどこかでみた気がします。
こちらは自分は詳しくないので、きちんと調べて欲しいですけど。

で、.NET Frameworkの問題よりむしろExcelのバージョンが一致しているかが気になります。
まぁ、VS 2008で.NET Framework 2.0を選択して開発を行った、ということが前提になりますが。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-06-13 15:52
引用:

どっとねっとふぁんさんの書き込み (2008-06-13 15:35) より:
VS2008のインストーラは.NET Framework2.0に対応していないような話をどこかでみた気がします。
こちらは自分は詳しくないので、きちんと調べて欲しいですけど。



このあたりでしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=44921&forum=7&2
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45207&forum=7&start=8&8
くろは
会議室デビュー日: 2006/12/14
投稿数: 8
投稿日時: 2008-06-13 17:06
皆様、多数のご回答をありがとうございます。

rain様のおっしゃるとおり、新しいプロジェクトの作成時に.NetFramework2.0を選択して開発をしています。
また、エクセルのバージョンは開発機、テスト機とも「Excel2003 SP3」です。

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