Partas.TypeProvider.BuildHelper.Runtime Namespace
| Modules | Description |
|
Reading of git repository state for the type provider. Structure - ref, remote and submodule *names* - is read straight out of the `.git` directory at design time, so expanding the provided types never spawns a process. Volatile values - shas, dirtiness, anything needing object or history traversal - are deferred to the `Runtime` module, which shells out to `git` in the consuming program instead. |
|
|
Reading of git repository state for the type provider. Structure - ref, remote and submodule *names* - is read straight out of the `.git` directory at design time, so expanding the provided types never spawns a process. Volatile values - shas, dirtiness, anything needing object or history traversal - are deferred to the `Runtime` module, which shells out to `git` in the consuming program instead. |
|
|
Running of external command line tools. Shared by the providers that answer questions the compiler cannot answer alone - git state, MSBuild evaluation - without taking a library dependency on the tool. Nothing here throws: a missing executable, a timeout or a crash all surface as `None`, because a provider that throws takes the whole provided type down with it. |
|
|
Running of external command line tools. Shared by the providers that answer questions the compiler cannot answer alone - git state, MSBuild evaluation - without taking a library dependency on the tool. Nothing here throws: a missing executable, a timeout or a crash all surface as `None`, because a provider that throws takes the whole provided type down with it. |
|
|
Reading of MSBuild project structure for the type provider. The same split as `Git`: structure - which projects exist, where they live - is read from the solution file or the directory tree at design time, so expanding the provided types never spawns a process and never loads MSBuild into the compiler. Property *values* are read at runtime by `Runtime`, which shells out to `dotnet msbuild -getProperty`. The design-time values are deliberately approximate. They are read straight out of the project XML with no condition evaluation, and exist only to be shown in a doc comment as a hint. Nothing compiles against them. |
|
|
Reading of MSBuild project structure for the type provider. The same split as `Git`: structure - which projects exist, where they live - is read from the solution file or the directory tree at design time, so expanding the provided types never spawns a process and never loads MSBuild into the compiler. Property *values* are read at runtime by `Runtime`, which shells out to `dotnet msbuild -getProperty`. The design-time values are deliberately approximate. They are read straight out of the project XML with no condition evaluation, and exist only to be shown in a doc comment as a hint. Nothing compiles against them. |
Partas.TypeProvider