マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

※ 対象は、.NET Standard 2.0。

詳細

準備

移行先プロジェクトを準備する。

不要なファイルを削除する。

Projectファイルを準備する。

ProjectをVisual Studioから開く。

Projectファイルをダブルクリックするか、空のソリューションに追加する。

Projectの初期設定を行う。

<PropertyGroup>
  <TargetFramework>netstandard2.0</TargetFramework>
  <AssemblyName>XXXX</AssemblyName>
  <RootNamespace>YYYY</RootNamespace>
</PropertyGroup>

ポーティング移行

移行対象ファイルを選別する。

必要に応じて、NuGetパッケージを追加する。

必要に応じて、ポーティング移行する。

以下は、下記の「移行元 / 移行先」でポーティング移行した処理。

パッケージ・マネージャ

NuGet

引き続き使用できる。

Dependencies

.NET Standard.NET Core開発に活用できるNuGetライブラリは、
.NET Standard.NET Core 側にだけ、Dependencies を持つ。

※ しかし、実際には、Dependenciesが正確に書かれていないケースも多く、
 (「target="lib\netXXX」毎にDependenciesが異なるので当然と言えば当然)
 実際にインストールして.NET Standardに対応しているかどうかを判断する。

System系ライブラリ

*.config

System.Configuration.ConfigurationManager?

Microsoft.Extensions.Configuration

以下の情報を元にマイグレーションする必要がある。

ASP.NET Core系ライブラリ

System.Web

対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。

HttpContext?

※ 上記の「Mimicking HttpContext?.Current」で.NET Standardなライブラリ化も可能。

Session

文字列しか格納できなくなったので、複雑なオブジェクトはJSONに変換する。

Cookie

RootPath?

Microsoft.Owin

対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。

Base64Url

その他ライブラリ

log4net

サマリ

既存ライブラリは、以下のような方針で移行できると考える(あくまで一例)。

参考

移行情報

.NET Coreへの移行

ASP.NET Coreへの移行

MSDN magazine

Essential .NET

.NET API Browser

https://docs.microsoft.com/en-us/dotnet/api/index

.NET Standard API Reference

https://docs.microsoft.com/en-us/dotnet/api/index?view=netstandard-2.0


Tags: :.NET開発, :.NET Core, :.NET Standard, :移行


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS