「マイクロソフト系技術情報 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>
以下のPlatformやLibraryに依存していた処理を、削除するか、ポーティング移行する。
.NET Standard、.NET Core開発に活用できるNuGetライブラリは、
.NET Standard、.NET Core 側にだけ、Dependencies を持つ。
※ しかし、実際には、Dependenciesが正確に書かれていないケースも多く、
(「target="lib\netXXX」毎にDependenciesが異なるので当然と言えば当然)
実際にインストールして.NET Standardに対応しているかどうかを判断する。
LINQ to DataSet?を使用できない。
対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。
# | 内容 | net | netcore, netstandard |
1 | 現在のアプリケーションのルート仮想パス(「/」や「/アプリ名」のような)。 | HttpContext?.Current.Request.ApplicationPath? | HttpContext?.Request.PathBase? |
2 | サーバー アプリケーションのルート ディレクトリの物理ファイル システム パス | HttpRequest?.PhysicalApplicationPath? | IApplicationEnvironment?.ApplicationBasePath? |
※ 上記の「Mimicking HttpContext?.Current」で.NET Standardなライブラリ化も可能。
※ HttpContext経由でアクセスする。
対応するライブラリが「Microsoft.AspNetCore?.XXXX」にある可能性がある。
Microsoft.AspNetCore?.Mvc.Filters
Microsoft.AspNetCore?.Mvc
.NET Standardは、.NET Coreのサブセットなので、≒.NET Core。
なので、以下のリンクは、.NET Coreへの移行の情報を含む。
https://docs.microsoft.com/en-us/dotnet/api/index
Tags: :.NET開発, :.NET Core, :.NET Standard, :移行