40 lines
3.2 KiB
Markdown
40 lines
3.2 KiB
Markdown
|
|
---
|
||
|
|
source_files:
|
||
|
|
- DataPRO/DASFactory/Properties/AssemblyInfo.cs
|
||
|
|
generated_at: "2026-04-16T04:26:03.347465+00:00"
|
||
|
|
model: "Qwen/Qwen3-Coder-Next-FP8"
|
||
|
|
schema_version: 1
|
||
|
|
sha256: "38071e427231f395"
|
||
|
|
---
|
||
|
|
|
||
|
|
# Properties
|
||
|
|
|
||
|
|
## 1. Purpose
|
||
|
|
This module (`DataPRO/DASFactory/Properties/AssemblyInfo.cs`) is an assembly-level configuration file for the `DASFactory` .NET assembly. Its purpose is to define metadata attributes that describe the assembly—such as title, product name, version, and COM visibility—without containing any executable logic. It serves as a declarative manifest for build-time and runtime identification and integration, particularly relevant for deployment, versioning, and COM interop scenarios.
|
||
|
|
|
||
|
|
## 2. Public Interface
|
||
|
|
This file contains **no public functions, classes, or methods**. It only declares assembly-level attributes via the `System.Reflection` and `System.Runtime.InteropServices` namespaces. All declarations are attribute usages on the `Assembly` object (e.g., `[assembly: AssemblyTitle(...)]`), which are consumed by the .NET runtime and tooling—not invoked programmatically.
|
||
|
|
|
||
|
|
## 3. Invariants
|
||
|
|
- The assembly is **not visible to COM** (`ComVisible(false)`), meaning it cannot be consumed by COM clients unless explicitly overridden elsewhere (e.g., on specific types).
|
||
|
|
- The assembly version is fixed at `1.0.0.0` for both `AssemblyVersion` and `AssemblyFileVersion`. No wildcard (`*`) is used for automatic build/revision numbering.
|
||
|
|
- The `Guid` attribute is set to `"16aa1a8c-fcb8-4e68-b49c-91b5a486d990"` for typelib identification if COM exposure were enabled (currently disabled).
|
||
|
|
- All culture-specific attributes (`AssemblyCulture("")`) indicate this is a neutral (non-localized) assembly.
|
||
|
|
|
||
|
|
## 4. Dependencies
|
||
|
|
- **Depends on**:
|
||
|
|
- `System.Reflection` (for `AssemblyTitle`, `AssemblyDescription`, etc.)
|
||
|
|
- `System.Runtime.InteropServices` (for `ComVisible`, `Guid`)
|
||
|
|
- **Depends on nothing else** (no external project or library references are declared in this file).
|
||
|
|
- **Used by**:
|
||
|
|
- The .NET build system (to embed metadata into the compiled assembly manifest).
|
||
|
|
- Runtime tools (e.g., `Assembly.GetName()`, reflection APIs, `FileVersionInfo`).
|
||
|
|
- COM interop tools (e.g., `tlbexp.exe`)—though disabled, the GUID is present for potential future use.
|
||
|
|
|
||
|
|
## 5. Gotchas
|
||
|
|
- **COM visibility is disabled globally**, so even if types in this assembly are `[ComVisible(true)]`, they will *not* be visible to COM unless the assembly-level `ComVisible(false)` is overridden per-type.
|
||
|
|
- **Version numbers are hardcoded to `1.0.0.0`** with no wildcard usage—this may indicate legacy or manual versioning; no automatic build/revision incrementing occurs.
|
||
|
|
- The `AssemblyCulture("")` implies a *neutral* (non-localized) assembly, but if localization were intended, this should contain a culture name (e.g., `"en-US"`).
|
||
|
|
- The `AssemblyConfiguration("")` and `AssemblyCompany("")` fields are empty strings—no build configuration (e.g., `"Debug"`/`"Release"`) or company name is recorded here.
|
||
|
|
- **No functional code exists** in this file; it is purely metadata. Misinterpreting it as containing business logic is a common mistake for new developers.
|
||
|
|
- None identified from source alone.
|