48 lines
3.8 KiB
Markdown
48 lines
3.8 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- DataPRO/ExocortexDSP/Properties/AssemblyInfo.cs
|
||
|
|
generated_at: "2026-04-16T04:04:26.153802+00:00"
|
||
|
|
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "759fb63f41a18fe7"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Properties
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
This module (`DataPRO.ExocortexDSP.Properties`) is an assembly-level configuration file for the `ExocortexDSP` .NET assembly. Its sole purpose is to define metadata and signing attributes for the assembly using standard .NET `System.Reflection` attributes. It does not contain executable logic or business functionality; instead, it governs how the compiled assembly is identified, versioned, and optionally signed (e.g., for strong naming). The version is auto-generated via `1.0.*`, and signing is currently disabled.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
This file contains **no public functions, classes, or methods**. It declares only assembly-level attributes via `Assembly*` attributes in the `System.Reflection` namespace. All declarations are compile-time metadata directives, not runtime-accessible members.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
- **Assembly Identity**: The assembly title, description, configuration, company, product, and culture are all explicitly set to empty strings (`""`), meaning no human-readable metadata is defined via this file.
|
||
|
|
- **Versioning**: The `AssemblyVersion` is set to `"1.0.*"`, which instructs the compiler to auto-generate the `Build` and `Revision` numbers based on the date and time of compilation (per .NET semantics). The `Major` and `Minor` versions are fixed at `1.0`.
|
||
|
|
- **Signing State**: Strong naming is disabled: `AssemblyDelaySign` is `false`, and both `AssemblyKeyFile` and `AssemblyKeyName` are empty strings. Thus, the compiled assembly will **not** be signed.
|
||
|
|
- **No Culture Specificity**: `AssemblyCulture("")` indicates the assembly is culture-neutral (i.e., contains no satellite resources).
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
- **Dependencies *of* this module**:
|
||
|
|
- `System.Reflection` (via `using System.Reflection;`)
|
||
|
|
- `System.Runtime.CompilerServices` (via `using System.Runtime.CompilerServices;`)
|
||
|
|
These are standard .NET Framework/BCL namespaces.
|
||
|
|
- **Dependencies *on* this module**:
|
||
|
|
- None. This is a *property* file (not a library or service), and its attributes are consumed by the .NET build toolchain (e.g., `csc.exe`, MSBuild) during compilation—not at runtime by other code.
|
||
|
|
- Other modules in the `DataPRO.ExocortexDSP` solution may *implicitly* rely on the assembly identity/version defined here (e.g., for binding redirects or strong-name references), but no direct code dependency exists.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
- **Auto-versioning side effects**: Using `AssemblyVersion("1.0.*")` causes the `Build` and `Revision` to change with every build. This may cause unexpected assembly binding failures if other assemblies reference this one by strong name (since strong names include the full version), unless binding redirects are configured.
|
||
|
|
- **Misleading empty strings**: Attributes like `AssemblyTitle`, `AssemblyDescription`, etc., are set to `""`—this is valid but may result in blank values in tools that read assembly metadata (e.g., Windows Explorer → Details tab).
|
||
|
|
- **Signing misconfiguration risk**: The comments describe signing options in detail, but the current configuration (`AssemblyDelaySign(false)`, empty `KeyFile`/`KeyName`) means the assembly is unsigned. If strong naming was intended (e.g., for GAC deployment), this is a critical omission.
|
||
|
|
- **No runtime impact**: This file has no executable code; developers may mistakenly look for logic here when debugging runtime behavior.
|
||
|
|
- **Delay Signing confusion**: The `AssemblyDelaySign(false)` setting means the key is *not* applied even if `AssemblyKeyFile` were set—delay signing requires `true` and a public key only.
|
||
|
|
|
||
|
|
None identified beyond the above.
|