質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.12%

.NET Framework メソッド切り替え方法 DataSetなど

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 2,674

super1234

score 52

〔状況〕
Visual studio 2010(.NET Framework 3.5)で作ったVB.NETのアプリをVisual Studio 2015で開き、.NET Framework 4.6.1 に変更した際にビルドエラーがでている状況になります。

メソッドの引数で
ByVal xmlData As DataSet.WriteXml
となっている箇所について

エラー    BC30002    
型 'DataSet.WriteXml' は定義されていません。
\Class\clsJpnMrc.vb

(WriteXmlはメソッドなのですが、エラー文言として表示されているときは上の表示になっていました。)
となりビルド失敗します。

自身が行ったことは以下です。
DataSet.WriteXml →エラー波線の言われるままにData.DataSet.WriteXml
Data.DataSet.WriteXml →エラー波線の言われるままにSystem.Data.DataSet.WriteXml
System.Data.DataSet.WriteXml →エラー波線の言われるままにData.DataSet.WriteXml
(以下堂々巡り)
あと文頭にImports System.Dataなどの記載も試みましたが、エラー波線は消えませんでした。

ほかの非推奨として関連性高いと思われるものとして以下がありました。
他のクラスにて以下コードがあり
Dim xmlData As Xml.XmlDataDocument      'DataSetの内容をXMLデータとして格納

その非推奨として以下がでてきています。
「BC40000    'XmlDataDocument' は廃止されています: 'XmlDataDocument class will be removed in a future release.'。」

xmlDataDocumentにおいてバージョンアップと共に使えなくなったような記載を見つけたのですが、

https://msdn.microsoft.com/ja-jp/library/system.data.dataset(v=vs.110).aspx

具体的に対応方法など読み取れなく困っています。
これは既に使えなくなったメソッドということで認識は間違っていないでしょうか。またその代替について検索しているのですがヒットせずアドバイス何か頂けないでしょうか。

よろしくお願いいたします。

〔アドバイス後の対応後の状況は以下〕
アドバイスから以前のソースコードと比較して該当のエラー箇所をみてみましたら、
ByVal xmlData As DataSet.WriteXml ではなく、Xml.XmlDataDocument と記載されていました。なぜ書き換わってしまったのか不明です。そして以前の記載どおりのXmlDataDocumentにしたところエラーは消えました。しかし、以下警告がでてきました。
「警告    BC40000    'XmlDataDocument' は廃止されています: 'XmlDataDocument class will be removed in a future release.'。        ~\Class\~.vb」

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • ozwk

    2017/07/03 15:37 編集

    WriteXmlは型じゃなくてメソッドなので、元のコードがそもそもおかしくないですか?

    キャンセル

  • super1234

    2017/07/03 15:44

    ご指摘ありがとうございます。確かにメソッドです。ただ、エラー表示文言としては上記のようになっておりました。

    キャンセル

  • ozwk

    2017/07/03 15:46 編集

    型を書くべきところにメソッド名を書いているんだからそのエラーが出るのは当然では?という疑問です。VB.NETってそういうことできるんでしたっけ?

    キャンセル

  • super1234

    2017/07/03 16:08

    アドバイス頂きありがとうございます。その箇所についてバックアップのファイルをみてみましたら、Xml.XmlDataDocumentとかかれており、書き換わっていたことになっていました。なぜなのかよくわからないです。エラーはなくなったのですが警告は出てきました。その詳細について質問に追記しました。ありがとうございます。ビルドまで近づけそうです。

    キャンセル

回答 2

checkベストアンサー

0

.NET Framework 3.5 → 4.6.1
Visual studio 2010 → 2015

それはどういう意味ですか? きちんと文章で書きませんか?

アップグレードしたら .NET 3.5 で問題のなかったソースコードの DataSet.WriteXml でエラーが出たと言ってます?

で、DataSet.WriteXml メソッドが .NET 4.6.1 で廃止になったのが疑わしいと言ってます?

でも、廃止にはなってませんけど。

DataSet.WriteXml メソッド
https://msdn.microsoft.com/ja-jp/library/system.data.dataset.writexml(v=vs.110).aspx

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/03 15:27

    〉アップグレードしたら .NET 3.5 で問題のなかったソースコードの DataSet.WriteXml でエラーが出たと言ってます?

    はい。そうです。

    〉で、DataSet.WriteXml メソッドが .NET 4.6.1 で廃止になったのが疑わしいと言ってます?

    はい。そうです。

    〉でも、廃止にはなってませんけど。

    URL確認してみます。ありがとうございます。

    キャンセル

  • 2017/07/03 16:15

    疑わしい型の箇所を以前のソースコードと比べたところ変わっていたので元に戻したところエラーが消えました。ありがとうございました。

    キャンセル

0

エラーが出ていたのは凡ミスだったようなので
警告について。

A.警告なので無視してビルドする。

B.元のコードが根本的に何をしたかったのか調べて
それを実現するには今どうすればいいか調べて
実装する。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/07/03 17:57

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

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る