none
.NetCoreで作成した処理を.NET Frameworkからコールしたい RRS feed

  • 質問

  • .NetCoreで作成した処理を.NET Frameworkからコールしたいと考えています。
    調べたところ、.NET Standardを使用すればできるとのことでしたが具体的にはどのようにすればいいのでしょうか?
    .NET Standardのプロジェクトを作成し、.NET Frameworkから.NET Standardを経由し、.NetCoreの処理をコールするというイメージでいます。そもそも、.NET Frameworkから.NetCoreの処理はコールできないという意見もあれば頂戴したいです。

    宜しくお願い致します。

    2020年10月13日 1:24

回答

  • ライブラリとしてクラスやメソッドを使用したいのであれば、

    • .NET Standardプロジェクトに、.NET Coreプロジェクトで作成していたそのクラス類を丸ごと移植する
    • .NET Frameworkプロジェクトと.NET Coreプロジェクトは、それぞれ上記.NET Standardプロジェクトを参照し.NET Standardプロジェクトで公開されているクラスを使用する

    という形になります。.NET Frameworkアセンブリと.NET Coreアセンブリをライブラリとして相互に呼び出すことはできません。

    単にプロセスを起動する形で十分なのであれば、.NET Standardの出番はなくてProcess.Startするだけですが。

    • 回答としてマーク Rito00279 2020年10月13日 6:11
    2020年10月13日 1:43

すべての返信

  • ライブラリとしてクラスやメソッドを使用したいのであれば、

    • .NET Standardプロジェクトに、.NET Coreプロジェクトで作成していたそのクラス類を丸ごと移植する
    • .NET Frameworkプロジェクトと.NET Coreプロジェクトは、それぞれ上記.NET Standardプロジェクトを参照し.NET Standardプロジェクトで公開されているクラスを使用する

    という形になります。.NET Frameworkアセンブリと.NET Coreアセンブリをライブラリとして相互に呼び出すことはできません。

    単にプロセスを起動する形で十分なのであれば、.NET Standardの出番はなくてProcess.Startするだけですが。

    • 回答としてマーク Rito00279 2020年10月13日 6:11
    2020年10月13日 1:43
  • 回答ありがとうございます。非常に参考になりました。.NET Standardを使用する方向で検討します。
    2020年10月13日 6:13
  • 参考として:https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/

    • Use netstandard2.0 to share code between .NET Framework and all other platforms.
    • Use netstandard2.1 to share code between Mono, Xamarin, and .NET Core 3.x.
    • Use net5.0 for code sharing moving forward.

    .NET Framework と .NET Core の間の共有は .NET Standard 2.0 ですね。

    2020年10月13日 21:57
    モデレータ