「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
※ 対象は、.NET Standard 2.0。
不要なファイルを削除する。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> </PropertyGroup> </Project>
Projectファイルをダブルクリックするか、空のソリューションに追加する。
<PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <AssemblyName>XXXX</AssemblyName> <RootNamespace>YYYY</RootNamespace> </PropertyGroup>
<PackageReference Include="log4net" Version="2.0.8" /> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.1" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="11.0.2" /> <PackageReference Include="System.Data.Odbc" Version="4.5.0-preview1-26216-02" /> <PackageReference Include="System.Data.SqlClient" Version="4.4.3" />
<PackageReference Include="Npgsql" Version="3.2.7" />
<PackageReference Include="MySql.Data" Version="6.10.6" />
<PackageReference Include="Microsoft.AspNetCore.Http" Version="2.0.2" /> <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.0.2" /> <PackageReference Include="Microsoft.AspNetCore.Session" Version="2.0.2" /> <PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="2.0.2" /> <PackageReference Include="Microsoft.Extensions.PlatformAbstractions" Version="1.1.0" />
以下は、下記の「移行元 / 移行先」でポーティング移行した処理。
.NET Standard、.NET Core開発に活用できるNuGetライブラリは、
.NET Standard、.NET Core 側にだけ、Dependencies を持つ。
※ しかし、実際には、Dependenciesが正確に書かれていないケースも多く、
(「target="lib\netXXX」毎にDependenciesが異なるので当然と言えば当然)
実際にインストールして.NET Standardに対応しているかどうかを判断する。
以下の情報を元にマイグレーションする必要がある。
対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。
※ 上記の「Mimicking HttpContext?.Current」で.NET Standardなライブラリ化も可能。
文字列しか格納できなくなったので、複雑なオブジェクトはJSONに変換する。
対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。
既存ライブラリは、以下のような方針で移行できると考える(あくまで一例)。
https://docs.microsoft.com/en-us/dotnet/api/index
https://docs.microsoft.com/en-us/dotnet/api/index?view=netstandard-2.0
Tags: :.NET開発, :.NET Core, :.NET Standard, :移行