it技術:dotnet
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
it技術:dotnet [2020/03/05 17:59] – [初回起動が遅い] yajuadmin | it技術:dotnet [2022/04/13 14:32] – [初回起動が遅い] yajuadmin | ||
---|---|---|---|
行 50: | 行 50: | ||
[[https:// | [[https:// | ||
- | Windows 8(.NET 4.5)以降では、新しいNGenモード:“Auto NGen”が導入されました。(NGENサービス化) | + | .NET 4.5以降では、NgenがWindowsサービスとして動いている(Auto-Ngen)\\ |
- | 基本的に、.NETランタイムは、管理対象アプリケーションの使用ログを生成します。システムがアイドル状態の場合、自動メンテナンスタスクがバックグラウンドで実行され、ネイティブイメージが生成されます。これにより、開発者はNGenを明示的に扱う必要がなくなります。 | + | 基本的に、.NETランタイムは、管理対象アプリケーションの使用ログを生成します。システムがアイドル状態の場合、自動メンテナンスタスクがバックグラウンドで実行され、ネイティブイメージが生成されます。これにより、開発者はNGenを明示的に扱う必要がなくなります。<wrap em> |
+ | ※.NET 5以降(旧.NET Core)では、GACの概念は存在しなくなる。\\ | ||
+ | [[https:// | ||
他にも64bit OS上だとJITのパフォーマンスが悪くなるとの報告がある。x86で作成すると良いらしい。\\ | 他にも64bit OS上だとJITのパフォーマンスが悪くなるとの報告がある。x86で作成すると良いらしい。\\ | ||
- | [[https:// | + | [[https:// |
+ | ※.NET Framework4.6以上の 64ビットモードから.NET環境に最適化されたJITコンパイラ「[[https:// | ||
+ | |||
Windows上で電子署名されたロードモジュールを実行すると10秒以上起動にかかることがあるとのことで、対処方法としてアプリケーション構成設定で「generatePublisherEvidence」を「False」に設定する。\\ | Windows上で電子署名されたロードモジュールを実行すると10秒以上起動にかかることがあるとのことで、対処方法としてアプリケーション構成設定で「generatePublisherEvidence」を「False」に設定する。\\ | ||
行 60: | 行 65: | ||
Windows10では「高速スタートアップ」機能があり、パソコンの起動を速くするためシャットダウン時にメモリやCPUなどの状態を保存しておくようになっている。これにより初回の初回起動以外は速くなる。 | Windows10では「高速スタートアップ」機能があり、パソコンの起動を速くするためシャットダウン時にメモリやCPUなどの状態を保存しておくようになっている。これにより初回の初回起動以外は速くなる。 | ||
+ | |||
+ | その他 | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ===== アセンブリの厳密名と特定バージョンについて ===== | ||
+ | ==== 厳密名について ==== | ||
+ | 厳密名とはVisual Studioなどでアセンブリファイルの参照プロパティで「厳密な名前」と記載されている項目になります。\\ | ||
+ | プロパティで「True」となっているアセンブリファイルは厳密名を設定されています。\\ | ||
+ | 基本的にMicrosoftやOracleといった企業が配布しているファイル、バージョンを縛りたい場合に設定されます。 | ||
+ | |||
+ | === 厳密名の構成について === | ||
+ | 厳密名は以下の4要素によって構成されています。\\ | ||
+ | ^要素名^ | ||
+ | |ファイル名(拡張子無し)| | ||
+ | |バージョン番号| | ||
+ | |カルチャID| | ||
+ | |公開キートークン| | ||
+ | |||
+ | 参照URL:\\ | ||
+ | https:// | ||
+ | http:// | ||
+ | |||
==== 厳密名による特定バージョンの縛りについて ==== | ==== 厳密名による特定バージョンの縛りについて ==== | ||
特定バージョンについては厳密名と同じで、アセンブリファイルの参照プロパティで確認できます。\\ | 特定バージョンについては厳密名と同じで、アセンブリファイルの参照プロパティで確認できます。\\ | ||
行 110: | 行 137: | ||
* [[https:// | * [[https:// | ||
+ | ==== デジタル証明書のタイムスタンプ ==== | ||
+ | >Done Adding Additional Store | ||
+ | > | ||
+ | " | ||
+ | https:// | ||
+ | |||
+ | < | ||
+ | %cur%signtool.exe sign /fd sha256 -f %cur%test.pfx -t http:// | ||
+ | ↓ | ||
+ | %cur%signtool.exe sign /fd sha256 -f %cur%test.pfx -tr http:// | ||
+ | </ | ||
===== クラッシュする場合 ===== | ===== クラッシュする場合 ===== | ||
.NET4.0以降はメモリアクセス違反「AccessViolationException」等になるとアプリケーションが終了する。 | .NET4.0以降はメモリアクセス違反「AccessViolationException」等になるとアプリケーションが終了する。 | ||
行 207: | 行 245: | ||
[[http:// | [[http:// | ||
+ | |||
+ | ==== 複数選択のコンボボックス ==== | ||
+ | 標準のコンボボックスでは複数選択はできない。よってカスタムコントロールを作成しないと実現できない。 | ||
+ | |||
+ | どちらも C# で作成されている。 | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
==== その他 ==== | ==== その他 ==== |
it技術/dotnet.txt · 最終更新: 2022/06/23 17:23 by yajuadmin