DesignCacheEntry Type
One generation of provided types for one set of static parameters. Once built, a generation is served unchanged for the lifetime of the entry. This is a correctness requirement, not a cache policy: the compiler-facing (target-model) provided types are memoized by the TypeProvider SDK keyed on the identity of these source types, so producing a second source root for the same static parameters while any compilation may still re-request it makes the compiler see two unrelated erased types (intermittent FS0193/FS0001 "type X is not compatible with type X"). The entry is therefore only ever dropped whole (idle expiration or explicit cache clear), never rebuilt and swapped in place underneath a live compilation. Reference equality so the identity-checked eviction matches the exact entry instance, not its (concurrently mutated) field values.
Record fields
| Record Field |
Description
|
Full Usage:
LastAccess
Field type: int64
Modifiers: mutable |
Last access in UTC ticks. Updated lock-free on every instantiation request; entries idle longer than the expiration are dropped to free memory.
|
|
The provided root type, built lazily once per set of static parameters.
|