OutSystemsエクステンションでの.NET Standardライブラリの使用
要件
- Microsoft Visual Studio 2017
- .NET Framework 4.7. 2
- OutSystems Platform Server 11 - Release Apr.2019以降
エクステンションで.NET Standardライブラリを使用する
Windowsは、バージョン4.7. 2で.NET Frameworkアプリケーション向けの.NET Standardのサポートを改善しました。この改善を活用し、エクステンションで.NET Standardライブラリを使用することができます。
このページの手順に従わなかった場合、エクステンションはサポート対象外のシナリオ(.NET 4.6.1と.NET Standardの併用)になり、ランタイムの問題が発生します。
以下の手順を実行します。
-
開発マシンに.NET Framework 4.7. 2とVisual Studio 2017をインストールします。
-
Integration Studioのオプションを変更し、Visual Studio 2017の使用を開始して、エクステンションのコンパイルで関連するMSBuildを使用するようにします。
-
エクステンションのメインプロジェクトのターゲットフレームワークを「.NET Framework 4.6.1」から「.NET Framework 4.7.2」に変更します。
-
エクステンションを作成し、必要なライブラリを参照します。
Integration Studioでエクステンションをパブリッシュする前に、.NET Standardのシステムビルトインアセンブリがエクステンションに含まれていないことを確認します。
注記: System.Runtime.CompilerServices.Unsafe.dll
など、いくつかのシステムアセンブリをエクステンションに含める必要がある場合があります。これは問題ありません。
ただし、エクステンションに含めるシステムアセンブリのリストが大きいということは、エクステンション内に存在してはならないライブラリが含まれている兆候になります。
たとえば、エクステンションに以下のシステムアセンブリが含まれていると、ランタイムの問題が発生します。
netstandard.dll
mscorlib.dll
System.Runtime.InteropServices.RuntimeInformation.dll
System.Net.Http.dll
問題のあるアセンブリを削除するには、以下の手順を実行します。
-
Visual Studioで、すべてのプロジェクトのターゲットフレームワークが
4.7.2
であることを確認します。 -
必要な場合、サードパーティのNuGetパッケージをアンインストールして再インストールします。
-
\Bin
フォルダの中身を削除します。 -
Integration Studioの[Resources]タブで、
\Bin
フォルダを右クリックして[Exclude from extension]を選択します。 -
ツールバーの[Update Source Code]をクリックして、
\Bin
フォルダ内のOutSystemsリソースを再生成します。 -
Visual Studioに戻り、ソリューションを再度作成して、アセンブリが再び追加されていないことを確認します。