Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

部会開催メモ

  • 計画
  • 実施内容
  • コンテンツ

当ページの探し方

Open棟梁 Wiki 部会メモ」で検索すると出てきます。

コンテンツ

2020年

2021年

詳細(2020年

5/21 オンライン部会(第0回)

「Open棟梁」のビルドを通すデモと雑談

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)
  • デモ内容の事前実施

デモ

  • プログラムの取得
  • 修正・変更
    • ビルドツールへのパスの調整
    • SQL Serverの接続文字列の一括置換
    • PowerShell?で以下のコマンドを使用し、
  • ビルド・実行
  • テンプレートの
  • C#
    ・MVC
    ・MVC Core
  • VB
    ・Web Forms
    ・Win Forms(3C/S)
  • 本体
    • C#
    • NuGet?

※ パスの問題があるので、テンプレートはCドラ直下に。

雑談

  • テーマ等は特に定めない。
  • 録画するので固有名詞は注意。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

5/26 セルフZoom部会(第0.5回)

この辺で検討が必要になった、
「Docker Composeを統合・分割する方法」の話を、
MVC_Sampleを使って実践する。

準備

  • 確認と検証の内容
    以下の3つの方法の手順の確認と動作の検証
  • 1つ目の方法:
    2つのDocker Composeを、外部IP経由でブリッジする方法。
  • 2つ目の方法:
    Webアプリケーションをビルドしてイメージを作成して、
    それを1つのDocker Composeに統合するという方法。
  • 3つ目の方法:
    (実は、Linksがレガシーな方法らしく、)
    2つのDocker Composeを、networksでブリッジする方法。
  • 利用する物件
  • 説明が漏れましたが、
    • 開発環境は、前回に使用した環境と同じです。
    • MVC_Sampleは、0_ExecAllBat?.batを実行すれば基礎となるビルドが通ります。
  • その他の参考情報
  • マイクロソフト系技術情報 Wiki

デモ

  • 1つ目の方法:
  • MVC_Sampleから外部サービスを削除する。
  • MVC_Sampleのプロジェクト中のサービス名を
    Windowsホストの外部IPのアドレスに変更する。
  • Windowsホストの外部IP経由でコンテナへルーティングされるよう設定。
    >ipconfig
      IPv4 アドレス . . . . . . . . . . . .: yyy.yyy.yyy.yyy
      サブネット マスク . . . . . . . . . .: xxx.xxx.xxx.xxx
    ...
    
    >route -p add 10.0.75.1 mask xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy
    OK!
    ...
    
    >route delete 10.0.75.1 mask xxx.xxx.xxx.xxx
    OK!
    最新の環境では変更されている。
  • コンテナを起動する。
    • LocalServices? を docker-compose up -d で起動する。
    • MVC_Sample を VS Tools for Dockerで起動する。
  • 結果:繋がるには繋がるが、相変わらず、不安定。
  • 2つ目の方法:
  • MVC_SampleのDockerfileのEXPOSE を 5000 に変更する。
  • MVC_Sampleをビルドしてイメージを作成する。
  • ソリューションのディレクトリへ移動。
    >cd ...\MVC_Sample
  • ビルドしてイメージを作成する。
    >docker build -f MVC_Sample/DockerFile -t dotnetapp-dev .
  • 作成したイメージを確認する。
    >docker images
    REPOSITORY                             TAG                 IMAGE ID            CREATED             SIZE
    dotnetapp-dev                          latest              4c0d98760acb        4 seconds ago       229MB
  • 下記をLocalServices?のDocker Composeにマージして、コチラを起動する。
     nginx-proxy:
       image: nginx-proxy
       build:
         context: ./nginx
         dockerfile: Dockerfile
       ports:
         - "8888:80"
       links:
         - mvc_sample
     mvc_sample:
       image: dotnetapp-dev:latest
       volumes:
         - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
         - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
  • 結果:安定して動作した。
  • 3つ目の方法:
  • networksにcommon_linkを作成する。
    >docker network create --driver bridge common_link
  • LocalServices?とMVC_Sampleのnetworksにcommon_linkを追加する。
    services:
      webapp1:
        ...
        networks:
          - common_link
    networks:
      common_link:
        external: true
  • MVC_Sampleから外部サービスを削除する。
  • コンテナを起動する。
    • LocalServices? を docker-compose up -d で起動する。
    • MVC_Sample を VS Tools for Dockerで起動する。
  • 結果:安定して動作した。
  • ユーティリティ
  • コンテナの具合が悪い場合、クリーンナップする。
    docker ps -q | %{ docker stop $_ }
    docker ps -aq | %{ docker rm $_ }
    docker images -q | %{ docker rmi $_ }
  • コンテナの起動と停止
    >docker-compose up -d
    ...
    
    >docker-compose down
    ...

結果

  • 1つ目は相変わらず不安定。
  • 1つ目以外(2、3つ目)の方法は行ける。
  • CT、ST環境の構築など、K8sへのリフト前
    ステージング・プロダクション環境にデプロイ前のチェックはコレで行けそう。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

5/29 オンライン部会(第1回)

「Open棟梁」とは何か?を説明する会。

準備

パワポのピックアップ

  • OSC2018 hiroshima
  • Open棟梁概要説明
  • Open棟梁機能紹介

説明

  • 自己紹介
  • プロジェクト
    • 開発基盤開発
    • プロモーション
    • マーケティング
  • フレームワークとか、ツールとか。
  • AS-IS と TO-BE
    • SIって良くない側面あるよね。
    • OSS化 → プロモーション
    • マーケティング → Web → DX

雑談

  • テーマ等は特に定めない。
  • 録画するので固有名詞は注意。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

6/3 セルフZoom部会(第1.5回)

5/26 セルフZoom部会が少々高度だったので、
今回は、コンテナ技術(Docker、K8s)の初歩的な話

準備

シナリオだけ決めておきます。

  • Docker Composeのサンプル実行
    • Azure-Samples/azure-voting-app-redis
    • EvaluateAspNetCoreOnDocker?/LocalServices?
  • Visual Studio Tools for Docker
    • Dockerの生成と実行
    • Docker Composeの生成と実行
  • 上記のDocker、Docker Composeファイルの単体使い
    • Dockerの単体使い
    • Docker Composeの単体使い
  • ローカルK8s
    Compose on Kubernetesでdockerdemos/lab-*を実行する。

デモ

  • VS Tools for Docker(アドリブ)
    • Dockerの生成と実行
    • Docker Composeの生成と実行
  • 単体使い
    • Dockerの生成と実行
    • Docker Composeの生成と実行
      動画中でハマってた所、Docker Composeに書かれていた、環境変数が原因でした。

結果

ローカルK8sのダッシュボード以外は無事動作。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

6/12 セルフZoom部会(第2回)

コロナで、今更、

  • GitTortoiseGit + GitHubで使う方法を説明する。
  • あと、以前から使用しているコチラの環境の構築手順も説明する。

準備

  • クラウドなどにVMを準備
  • GitHub?のアカウントを作成しておく。
  • デモ内容の事前実施

デモ

操作説明。

  • インストール
  • 各種設定等
  • 準備
    • GitHub?
      • でリポジトリを作成
      • のリポジトリをクローン
  • ファイルの追加
    • AAA(更新用1)
    • BBB(削除用1)
    • CCC(更新用2)
    • DDD(削除用2)
    • EEE(コンフリクト用)
  • コミット&プッシュ
  • GitHub?上で変更を確認する。
  • 操作
    • Developブランチを作成
  • Masterブランチ
    • ファイルの更新と削除
    • コミット&プッシュ
    • GitHub?上で変更を確認する。
  • Developブランチ
    • ファイルの更新と削除
    • コミット&プッシュ
    • GitHub?上で変更を確認する。
  • プルリクエストの実行
  • コンフリクトの
    • ブランチAの更新
    • ブランチBの更新
    • プルリクエストの実行
    • コンフリクトの解消とマージ
  • おまけ
  • インストール
  • テスト利用
  • インストール
  • テスト利用

結果

コロナで、今更、

  • GitTortoiseGit + GitHubで使う方法が解った!
    • Git単体使いに言及していませんでしたが、 もちろん、こんな感じで出来ます。
    • SIでは敬遠される部分もありますが、コチラのフローなどで、
      SI運用を検討することで、SIでも十分、採用できるかと思います。
  • 序に、WSLDocker のインストール、テスト利用ができた♨。
    (今回は、トラブル続きで、動画の編集を幾らか行いました。)

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

6/19 セルフZoom部会(第3回)

「Open棟梁」の

を行います。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

https://github.com/OpenTouryoProject

  • 「Open棟梁」の本体側のビルド
  • 「Open棟梁」のOAuth2 / OIDCアーキテクチャ対応版のデモと説明
  • ビルド
    • MultiPurposeAuthSite?
    • ResourceServerTemplates?
    • FrontendTemplates?
  • 設定
    • ファイルの配置
    • configファイルの設定
  • 実行
  • サーバー起動
    MultiPurposeAuthSite?
    ResourceServerTemplates?
  • クライアント起動と実行
    FrontendTemplates?
    ・MVC_Sample

結果

「Open棟梁」の

  • 本体側のビルド手順も無事にデモできました。
  • OAuth2 / OIDCアーキテクチャ対応版については、
    • 未開示のモバイル対応以外は、まぁ、ボチボチ動きますよと。
    • 今後、これを、コンテナ化して、Keycloakとコンパチしていく。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

6/29 セルフZoom部会(第4回)

汎用認証サイトとKeycloakをコンパチしてみる動画

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

汎用認証サイトとKeycloakをコンパチ

結果

汎用認証サイトとKeycloakのコンパチが出来た。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

7/10 セルフZoom部会(第5回)

「Open棟梁」の機能群のデモ+説明と雑談

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

以下のツール・機能を実行(netcoreappで)

  • 自動生成

結果

  • 動画化により、無事、説明の手離れができた。
  • .NET Core 3.1での動作検証もできた。

動画

  • OSSコンソーシアム Blogにも掲載
  • 参考

7/29 セルフZoom部会(第6回)

汎用認証サイトのデモ+説明

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

  • 機能説明
  • IdP機能(ASP.NET Identity)
    • サインアップ
    • サインイン・サインアウト
    • パスワード・リセット
    • アカウント・ロックアウト
    • SecurityStamp?
    • アカウントを編集する。
      ユーザ名を変更する。
      メアドを追加・削除する。
      ・パスワードを変更する。
      ・電話番号を設定する。
      ・2要素認証をオンにする。
      ・FIDO2.0をオンにする。
      ・属性データ(非定型データ)の管理(編集)
      ・OAuth2データの管理(編集とToken取得)
       → オンライン決済サービス(テスト)
  • STS機能(Open棟梁拡張)
  • OAuth2/OIDC
    ・Authorization Code Flow
    ・Implicit Flow
    ・Hybrid Flow
    ・PKCE Flow
  • 外部ログイン
    ソーシャル・ログイン
  • metadata(configuration)
    ・samlmetadata
    ・.well-known/openid-configuration
    ・jwkcerts
  • 次回
    ・Financial-grade API
    ・Hybrid-IdP(ID連携)

結果

以下の機能に関する理解が深まった。

  • IdP機能(ASP.NET Identity)
  • STS機能(Open棟梁拡張)
    • 各種認証フロー
    • metadata(configuration)

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

7/31 セルフZoom部会(第7回)

新リポジトリ群のコンセプト説明。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

Organizationに移動し、

結果

新リポジトリ群のコンセプトを理解した。

  • コンテナを使って生産性の向上が可能。
  • 開発環境用と実行環境用のDockerfileは異なる。
  • 工程毎のコンテナ環境は、
  • ビルド・プロセスの調整と
  • コンテナ・レジストリに

よって達成される。

  • OAuth2/OIDCアーキテクチャなどの、
    複雑、且つ、高難易度の開発も容易化できる。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

8/3 セルフZoom部会(第8回)

※ 8/1ではなく、8/3でした。

  • あまり慣例に従ってないCI/CD実践例のご紹介。
  • 恐らく、こう言うプロダクトも多いんじゃないか?と。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

結果

  • CI/CDの慣例に従っていなくても、
    プロダクト特性に合わせて、チューニングされたCI/CDで良い。
  • 「みんなちがって、みんないい。」(金子みすゞ)と言う事が解った。

動画

  • Zoomの録画をYoutubeにアップロード。

8/12 セルフZoom部会(第9回)

いよいよやります。OAuth2OidcArchitOnDockerのデモンストレーション。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

  • 実行
    • Confidential Client : MVC
    • Public Client : SPA
  • 開発
    MVCSampleOnDocker?を、IIS Expressで実行。
  • ポイント
    • 前回動画と同じコンテナのチェーンを実現
      正確には、コンテナによる環境のチェーン
  • その他
    • 段階毎の構成変更が色々と大変。
    • Visual Studio の生成した .NET Core の Dockerfileが色々とオカシイ。
    • log4netのLoggerの件、直しました(Appenderを追加)。
    • Chrome の Cookie周辺の話しは、SameSite?属性の件だった。
  • 参考
  • 各種 Wiki
  • OSSコンソーシアム Blog

結果

Open棟梁 for OAuth2 / OIDCのような、高度なアーキテクチャのプロジェクトを、
Dockerコンテナと、コンテナ・オーケストレータであるDockerコンポーズによって、
開発環境構築を簡素化し、生産性の大幅な向上を図っている点がポイントになります。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

8/19 セルフZoom部会(第10回)

に含まれる、Open棟梁 for OAuth2 / OIDCアーキテクチャの
説明資料を作成し、アニメーションが多いので解説動画を撮った。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

解説

下記のPPTを使用して解説を行う。

https://1drv.ms/p/s!Amfs5caPP9r5jQk6uYDmfCG6cBMG

結果

Open棟梁 for OAuth2 / OIDCアーキテクチャのサポート機能 / 範囲を把握できた。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

8/26 セルフZoom部会(第11回)

構築してみた、Linux開発環境のご紹介。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)
  • 開発環境の説明
    前述の「Linux開発環境」を使用する。

デモ

8/12 セルフZoom部会(第9回)の内容を前述の「Linux開発環境」上で実行。

  • Windows上でビルド・実行した以下フォルダをZIP
    ..\MVCSampleOnDocker\MVC_Sample
  • Linux上に送り込み、UNZIPする。
    unzip MVC_Sample.zip 
  • Program.csの起動パスを変更。
    string url = Environment.GetEnvironmentVariable("UseUrl");
    if (string.IsNullOrEmpty(url))
    {
        url = "https://0.0.0.0:44334/";
    }
  • 以下のコマンドで実行。
    sudo dotnet run
  • これで、以降は、
    • .vscodeフォルダに、launch.json / tasks.jsonが自動生成される。
  • Visual Studio Codeでフォルダを開いてデバッグ実行できる。
    (HTTPSのデバッグ実行はVisual Studio Codeをsudoで起動する必要があるもよう)
    $ sudo code --user-data-dir='~/.vscode-root'

結果

Linuxでの.NET開発も、
ボチボチ、出来そうですね。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

11/8 セルフZoom部会(第12回)

2ヶ月ぶりの再開となりましたが、今回は、
汎用認証サイトのIDフェデレーションについて。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

8/12 セルフZoom部会(第11回)で使用したコンテナを利用。

  • Hybrid-IdP(ID連携)
  • 修正ポイント
  • appsettings.jsonのコンフィグ
    パラメタ置換機能を有効化するスイッチが漏れていたので、
     OAuth2OidcArchitOnDocker?MultiPurposeAuthSiteCore?にコレを追加し、
    ・「各種Cookie名」と「RedisのDataProtection?に設定するApplicationName?
     の衝突問題の解決のために、パラメタをConfig可能にしてコレを追加。
     https://twitter.com/openhishopjpo/status/1324724803106844672
    // appSettings section
    "appSettings": {
      // Webサービス用
      "Azure": "MultiPurposeAuthSiteCore",
      "FxContainerization": "ON",
      // Session周辺の問題対策
      "FxSessionCookieName": "MultiPurposeAuthSiteCoreSession",
      "FxApplicationName": "MultiPurposeAuthSiteCore",
    ・以下の、[id_federation_endpoint]に固定値を設定。
    "06d20f595b694114b710c1d85e21bb8e": {
      "client_secret": "ld47EVKDDkxleIup7Z0UQ1rVy_IR4q3lXamyNcrIUEo",
      "redirect_uri_code": "[id_federation_endpoint]",
      "redirect_uri_token": "-",
      "client_name": "IdFederation"
    },
  • 以下が、必要なDocker Composeの定義
  • 連携元
    以下を「multipurposeauthsitecore - environment」に追加
    (XXXXXには、別途、実際の値の取得と設定が必要)
     multipurposeauthsitecore1:
       image: osscjpdevinfra/multipurposeauthsitecore:OAuth2OidcArchitOnDocker
       environment:
         - UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
         - RedisConfig=redis
         - RedisInstanceName=redis
         - ASPNETCORE_Kestrel__Certificates__Default__Password=seigi@123
         - ASPNETCORE_Kestrel__Certificates__Default__Path=/app/aspnetapp.pfx
         - ConnectionString_SQL=Data Source=sqlserver;Initial Catalog=Northwind;User ID=sa;Password=seigi@123;
         - ConnectionString_MCN=Server=mysql;Database=test;User Id=root;Password=seigi@123;
         - ConnectionString_NPS=HOST=postgres;DATABASE=postgres;USER ID=postgres;PASSWORD=seigi@123;
         -------------------- 以下を追加 --------------------
         - FxSessionCookieName=MultiPurposeAuthSiteCoreSession1
         - FxApplicationName=MultiPurposeAuthSiteCore1
         - MicrosoftAccountAuthentication=true
         - MicrosoftAccountAuthenticationClientId=XXXXX
         - MicrosoftAccountAuthenticationClientSecret=XXXXX
         - GoogleAuthentication=true
         - GoogleAuthenticationClientId=XXXXX
         - GoogleAuthenticationClientSecret=XXXXX
         - FacebookAuthentication=true
         - FacebookAuthenticationClientId=XXXXX
         - FacebookAuthenticationClientSecret=XXXXX
         - TwitterAuthentication=true
         - TwitterAuthenticationClientId=XXXXX
         - TwitterAuthenticationClientSecret=XXXXX
         - IdFederationAuthorizeEndPoint=https://localhost:44301/authorize
         - IdFederationTokenEndPoint=http://multipurposeauthsitecore2:5000/token
         - IdFederationUserInfoEndPoint=http://multipurposeauthsitecore2:5000/userinfo
         ----------------------------------------------------
       ports:
         - "44300:5001"
       networks:
         - common_link
  • 連携先
    以下の「multipurposeauthsitecore2」serviceを追加
     multipurposeauthsitecore2:
       image: osscjpdevinfra/multipurposeauthsitecore:OAuth2OidcArchitOnDocker
       environment:
         - UseUrl=http://0.0.0.0:5000/;https://0.0.0.0:5001/
         - RedisConfig=redis
         - RedisInstanceName=redis
         - ASPNETCORE_Kestrel__Certificates__Default__Password=seigi@123
         - ASPNETCORE_Kestrel__Certificates__Default__Path=/app/aspnetapp.pfx
         - ConnectionString_SQL=Data Source=sqlserver;Initial Catalog=Northwind;User ID=sa;Password=seigi@123;
         - ConnectionString_MCN=Server=mysql;Database=test;User Id=root;Password=seigi@123;
         - ConnectionString_NPS=HOST=postgres;DATABASE=postgres;USER ID=postgres;PASSWORD=seigi@123;
         - FxSessionCookieName=MultiPurposeAuthSiteCoreSession2
         - FxApplicationName=MultiPurposeAuthSiteCore2
         
       ports:
         - "44301:5001"
       networks:
         - common_link

結果

一通り動作したが、下記の諸事情により、
Hybrid-IdPの呼び出し元側をコンテナ化することが出来なかった。

  • コンテナ化における課題
  • Config可能なパラメタ自体を増やす必要がある。
    • Configの環境変数対応済だが、
    • Docker Imageを再利用するため、
      Config可能なパラメタ自体を増やす必要がある。
  • Debugが難しい
    • リモート・デバッガが(、まだ)、あまりカジュアルに使えない。
    • コレが普及してくると、コンテナ化も加速すると思われる。
  • Hybrid-IdPの問題
  • 衝突回避
    • Session Cookie名
    • Cookie認証チケット名
    • RedisのDataProtection?に設定するApplicationName?
  • Tokenリクエストを自IdPに行ってしまう。
  • multipurposeauthsitecore2を指定しているのに、
    multipurposeauthsitecore1にルーティングされている。
  • ポート番号も変えているので、単純に名前解決後のアドレスが
    間違っているだけでも無さそう。Docker Desktopのバグなのだろうか?

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

11/15 セルフZoom部会(第13回)

汎用認証サイトのFAPI1, 2対応について。

準備

  • Zoomのスケジュール
    (まだ、一般募集は無し)

デモ

  • 詳細
  • FAPI1 - CC
    Tokenエンドポイントの認証をチェック(JWT)
  • FAPI1 - PC
    特に無し(QueryのPKCE)。
  • FAPI2 - CC
  • Requestオブジェクト(PAR)
  • Tokenエンドポイントの認証をチェック(MTLS)
  • JWT(access_token : JWS、id_token : JWE)
  • FAPI2 - PC
    サポートなし
  • FAPI - CIBA
    • AD無しのデバッグ・モードで実行。
    • Pollingモードでしてある。
    • Requestオブジェクト(PAR)
    • JWT(access_token : JWS)
  • 今回はコンテナを使用しない。
  • クライアント証明書を使用するTLSスタック構成方法が不明(→ IIS Express)。
  • 自身へのTokenリクエストが上手く処理できない課題を発見。
    • BrowserのRedirectでは、localhostが使用可能。
    • コンテナ内のWebAPI呼出では、localhostが使用不可能。

結果

  • まぁまぁ、動かせたが、結構大変。
  • 一部、コードの修正が必要だった。
    • Same Site Cookie対応
    • RequestObject? の redirect_uri 設定(テストコード)

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

11/22 セルフZoom部会(第14回)

.NET5.0でのビルド&実行の確認。

準備

  • 変更:TargetFramework?
  • 対象:
    *.csproj; *.bat
  • 変更内容:netcoreapp3.0 → net5.0
  • 変更:ビルド出力先
  • 対象:
    *.csproj; *.bat
  • 変更内容:Build_netcore30 → Build_net50
  • ポイント
  • デスクトップについては、
    追加で、以下の変更が必要になる。
  • TargetFramework?
    net5.0 → net5.0-windows
  • 参照設定先フォルダ:
    net5.0 → net5.0-windows
  • Microsoft.NET.Sdk.WindowsDesktop? SDKが不要に。
    <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
    → <Project Sdk="Microsoft.NET.Sdk"> に変更する。
  • デスクトップに対する変更の例外
    • 以下プロジェクトの、参照設定先フォルダを変更しない(net5.0-windows生成前なので)。
      ・CS\Frameworks\Infrastructure\Business\RichClient?
      ・CS\Frameworks\Infrastructure\CustomControl?\RichClient?
  • 以下プロジェクト中のWSIFType_sample、WSServer_sampleに関しては、
    参照設定先フォルダを変更しない(net5.0-windowsではなくnet5.0中に存在するため)。
    CS\Samples4NetCore?\Legacy\WS_sample\WSClient_sample\WSClientWin_sample

デモ

.NET5.0のビルド&結果のデモ(下記の動画を参照)。

結果

  • ビルド&MVC、3層C/Sで動作ができた。
  • エラーメッセージ
    NotSupportedException: BinaryFormatter serialization and deserialization are disabled within this application. See https://aka.ms/binaryformatter for more information.
  • 取り敢えず以下を追加することで対応できる。
    <EnableUnsafeBinaryFormatterSerialization>true</EnableUnsafeBinaryFormatterSerialization>
  • 以下のようにあるので、
    「コンシューマーの"責任"で使用すれば良いのでは?」
    という気もする。
    BinaryFormatter を利用するかどうかの判断に関する責任は、すべてコンシューマーにあります。 
    コンシューマーは、BinaryFormatter の使用に関するセキュリティ、技術、評判、法律、規制の要件を評価する必要があります。
    ※ 動向をウォッチして何処かで判断が必要。

動画

  • Zoomの録画をYoutubeにアップロード。
  • OSSコンソーシアム Blogにも掲載

参考

部会メモ(20XX年)

部会メモ(2020年)

部会メモ(2021年)

部会メモ(2022年)?

...

部会メモ(開発基盤部会)


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-04 (日) 14:51:18 (9d)