none
Visual Studioについて RRS feed

  • 質問

  • 現在使用しているVisual Studio2010を2017に変更しようと思っています。

    開発環境を新しくしたからといって参照されている.netのDLLのバージョン(例えば、WindowsBaseなど)は変わらないという理解で良いでしょうか?また、この.netのDLLバージョンは対象のフレームワークのバージョンで異なるという理解で良いでしょうか?

    要するに、同じソースを2010でコンパイルした場合と2017でコンパイルした場合で同じアプリケーションができるという理解で良いでしょうか?

    よろしくお願いします。


    2019年4月5日 5:05

すべての返信

  • 質問者さんが何をどういう条件で作っているか具体的な情報がないし、それを書いてもらっても書ききれないところはあるでしょうから、やってみなければわからないという話にならざるを得ないと思います。

    .NET のバージョンやプラットフォームターゲットを適切に選べば、たぶん大丈夫じゃないかなぁ、保証はできないけど・・・と言うような答えを貰っても意味がないのでは?

    Community 版とか評価版を入手して、実際にご自分て手を動かして確認してみてはいかがですか?

    • 編集済み SurferOnWww 2019年4月5日 5:41 誤字訂正
    2019年4月5日 5:29
  • ご返事ありがとうございます。

    WindowsBaseやPresentationCoreなどの.netのDLLが開発環境と対象のフレームワークのバージョンのどちらで影響を受けるのかが知りたいということです。

    Community版をインストールしてアプリ自体は動作するのですが、実際に上記のDLLのバージョンも勝手に上がっていて不具合の温床になってしまうのを心配しています。WindowsBaseだけを調べたのですが、対象のフレームワークのバージョンに依存していました。(VS2010でもVS2017でも参照先のDLLのバージョンは同じになっていました)

    >.NET のバージョンやプラットフォームターゲットを適切に選べば、たぶん大丈夫じゃないかなぁ、

    >保証はできないけど・・・と言うような答えを貰っても意味がないのでは?

    まさにおっしゃるとおりです。

    2019年4月5日 7:57
  • WindowsBase ということは WPF、.NET 3.0 以上でしょうから、開発環境の移行時点で勝手に 2.0-3.5 世代と、4 - 4.7 世代で参照が変わることはありません。
    ただし、世代が変わらないというだけで、実行環境で .NET 4.0 → 4.5 といったように上書きインストールされていくので、開発環境と言うよりは実行環境によって差が生じることもあります。
    2017 をインストールすれば、.NET 4.6 が入るでしょうから、古いバージョンですえ置いていた環境では、少し動きが変わるリスクはあるでしょうね。

    また、開発環境の視点でいけば、2015 からコンパイラが刷新されているので、多くのアプリケーションでは問題なくとも、ごく一部のアプリケーションで問題が起きるなど、リスクはあります。

    あなたのアプリケーションがその「多く」に属するのか、「ごく一部」に属するのか、第三者にはわかりません。
    結局、あなた自身で評価しないとどうしようもありません。

    2019年4月5日 13:21
    モデレータ
  • お返事ありがとうございます。

    >ただし、世代が変わらないというだけで、実行環境で .NET 4.0 → 4.5 といったように上書きインストールされていくので、

    >開発環境と言うよりは実行環境によって差が生じることもあります。

    インプレース更新という言葉を初めて知りました。

    https://docs.microsoft.com/ja-jp/dotnet/framework/migration-guide/versions-and-dependencies

    この考え方ですと、開発環境が2010の今も同じ問題が起こるということですね。

    >また、開発環境の視点でいけば、2015 からコンパイラが刷新されているので、

    >多くのアプリケーションでは問題なくとも、ごく一部のアプリケーションで問題が起きるなど、リスクはあります。

    なるほどです。このあたりも調べてみます。

    2019年4月8日 5:59