- PR -

.net Framework 1.1で datatable コンパイルエラー

投稿者投稿内容
hiroshi
会議室デビュー日: 2004/02/15
投稿数: 3
投稿日時: 2004-02-15 21:45
.net aspで開発をしています

開発環境:Microsoft Development Environment 2002
Microsoft .NET Framework 1.0

ソリューションファイルの共通パス→参照パスに
.net framework 1.1
(システムフォルダ\Microsoft.NET\Framework\v1.1.4322\)を追加設定すると
datatable で以下のようなエラーがでてしまいます。

なにかこのような問題を解決された方がおられたら
教えていただきたく存じます。
ちなみに追加しないと何のエラーもでません。

コンパイルエラー:
型 'System.Data.DataTable' の値を 'System.Data.DataTable' に変換できません。


プログラムコード:

Dim dtDataTable As DataTable
Dim objOleDbHelper As New util.dbhelper()
dtDataTable = objOleDbHelper.ExecSelect() 'ここでコンパイルエラー

※ExecSelectはDataTableをreturnするメソッド
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-16 10:13
 「参照」を削除すればいいのですが、、、

 いったい、何をしたいのでしょうか。1.0の環境から、1.1を参照する意図がわかりません。1.0で作ったものを1.1しかない環境で動かしたいのでしょうか?
hiroshi
会議室デビュー日: 2004/02/15
投稿数: 3
投稿日時: 2004-02-16 15:08
おっしゃる通り
参照を削除するとコンパイルエラーはでなくなります。
何をしたいのか記述しておりませんでした。失礼しました。

本番稼動環境は .net Framework1.1です。


もともと開発端末には1.0が入っていたのですが、本番環境は1.1なので
あとづけでWindows Update で1.1を入れたのですが、1.0
で動いているんじゃないの?っていう話になりまして、参照の追加
等が必要なのかと思い色々とやっておるのですが…

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-16 15:18
引用:

hiroshiさんの書き込み (2004-02-16 15:08) より:

本番稼動環境は .net Framework1.1です。

もともと開発端末には1.0が入っていたのですが、本番環境は1.1なので
あとづけでWindows Update で1.1を入れたのですが、1.0
で動いているんじゃないの?っていう話になりまして、参照の追加
等が必要なのかと思い色々とやっておるのですが…


 VS.NET2002を使うなら、1.0が使われます。VS.NET2003を使うと、1.1が使われます。1.0でコンパイルしたアセンブリを1.1しかない環境で使うとどうなるか、私は知りませんが、他のスレッドにあったような?


 .NETの実行環境は、DLLヘルを解消するため、コンパイルされたバージョン番号を管理します。そのため、1.0の環境であるVS.NET2002でビルドしたアセンブリは、1.0バージョンのアセンブリを探そうとします。VS.NETが見ているバージョンをまるまる1.1に切り替えることができたら(私は、そんなことができるのかどうかもわかりません)、VS.NET2002上で1.1を使うアセンブリをビルドできると思います。
hiroshi
会議室デビュー日: 2004/02/15
投稿数: 3
投稿日時: 2004-02-16 15:35
なるほど…。VS.NET2003が必要のようですね。
ほかのスレッドを探してみるとそのような記述がありました。
VS.netとFrameworkはおのおの依存しているようですね。


わかりました。Jittaさんありがとうございました。
りばぁ
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 130
お住まい・勤務地: 愛知県
投稿日時: 2004-02-16 16:07
こんにちわ。

引用:


もともと開発端末には1.0が入っていたのですが、本番環境は1.1なので
あとづけでWindows Update で1.1を入れたのですが、1.0
で動いているんじゃないの?っていう話になりまして、参照の追加
等が必要なのかと思い色々とやっておるのですが…



そもそも、WindowsUpdateからインストールできる.NET Frameworkはランタイムだったと
おもいます。
開発に利用するのであれば、MSのサイト等でSDKをダウンロードする必要があります。
.NET Framework1.1を利用するためにはVS.NET2003が必要なのはその通りですね。
※@ITの記事にそのあたりの詳しい説明があった気がします。

[余談]
.NET FrameworkってJAVAで言うとJ2SEとかのようなものですよね?
Eclipseみたいに、SDKだけ差し替えて開発できるように作れないのですかねぇ?
まぁ、お金取りたかったからそうしたのかもしれませんが^^;
[/余談]
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2004-02-16 17:49
細かいとこにつっこみますが。。。(^^;

引用:

そもそも、WindowsUpdateからインストールできる.NET Frameworkはランタイムだったと
おもいます。



これはそのとおりです。

引用:

開発に利用するのであれば、MSのサイト等でSDKをダウンロードする必要があります。



これは違いますね。
ランタイムのインストール時に、実はコマンドラインのコンパイラ(csc.exe等)は
一緒にインストールされます。
クラスライブラリも当然、すべてインストールされます。
開発時に参照するためのドキュメントや、たまに必要になることもある各種ツールが
とくに必要なければ、SDKなしで開発することは十分可能です。

引用:

.NET Framework1.1を利用するためにはVS.NET2003が必要なのはその通りですね。



IDEからの利用、という意味ではVS.NETではなくVS.NET2003が必要になります。
ただ、上で書いたように、.NETアプリケーションの開発にVS.NETは
必ずしも必要ではありません。
りばぁ
大ベテラン
会議室デビュー日: 2003/11/26
投稿数: 130
お住まい・勤務地: 愛知県
投稿日時: 2004-02-16 17:59
引用:

小野@どっとねっとふぁんさんの書き込み (2004-02-16 17:49) より:
ランタイムのインストール時に、実はコマンドラインのコンパイラ(csc.exe等)は
一緒にインストールされます。
クラスライブラリも当然、すべてインストールされます。
開発時に参照するためのドキュメントや、たまに必要になることもある各種ツールが
とくに必要なければ、SDKなしで開発することは十分可能です。


これは知りませんでした^^;

引用:

IDEからの利用、という意味ではVS.NETではなくVS.NET2003が必要になります。
ただ、上で書いたように、.NETアプリケーションの開発にVS.NETは
必ずしも必要ではありません。



むお、これは書き忘れです^^;別のスレッドでは一応「VS.NETで開発する場合は」
と入れておいたんですが。

ご指摘ありがとうございました。

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