Guides
Configuration
Configure AutoSDK generation via MSBuild properties and CLI options.
AutoSDK can be configured through CLI flags (for autosdk generate) or MSBuild properties (for the source generator NuGet package). Both map to the same underlying settings.
MSBuild Properties
When using the source generator, add properties to your .csproj with the AutoSDK_ prefix:
<PropertyGroup>
<!-- Core settings -->
<AutoSDK_Namespace>MyCompany.MyApi</AutoSDK_Namespace>
<AutoSDK_ClassName>MyApiClient</AutoSDK_ClassName>
<AutoSDK_TargetFramework>net10.0</AutoSDK_TargetFramework>
<!-- Generation flags -->
<AutoSDK_GenerateConstructors>true</AutoSDK_GenerateConstructors>
<AutoSDK_GenerateMethods>true</AutoSDK_GenerateMethods>
<AutoSDK_GenerateModels>true</AutoSDK_GenerateModels>
<!-- Security -->
<AutoSDK_SecuritySchemes>Http:Header:Bearer</AutoSDK_SecuritySchemes>
<AutoSDK_BaseUrl>https://api.example.com</AutoSDK_BaseUrl>
<!-- Naming -->
<AutoSDK_MethodNamingConvention>SimpleOperationId</AutoSDK_MethodNamingConvention>
<AutoSDK_NamingConvention>ConcatNames</AutoSDK_NamingConvention>
</PropertyGroup>Filtering Operations
Include or exclude specific operations by ID or tag:
<PropertyGroup>
<!-- Only generate these operations -->
<AutoSDK_IncludeOperationIds>listPets;getPetById;createPet</AutoSDK_IncludeOperationIds>
<!-- Or exclude specific ones -->
<AutoSDK_ExcludeOperationIds>deletePet;adminEndpoint</AutoSDK_ExcludeOperationIds>
<!-- Filter by tags -->
<AutoSDK_IncludeTags>pets;users</AutoSDK_IncludeTags>
<AutoSDK_ExcludeTags>admin;internal</AutoSDK_ExcludeTags>
</PropertyGroup>Values are semicolon-separated.
Model Configuration
<PropertyGroup>
<!-- Model code style -->
<AutoSDK_ModelStyle>Class</AutoSDK_ModelStyle> <!-- Class | Record | ReadonlyRecordStruct -->
<!-- Include/exclude specific models -->
<AutoSDK_IncludeModels>Pet;User;Order</AutoSDK_IncludeModels>
<AutoSDK_ExcludeModels>InternalConfig</AutoSDK_ExcludeModels>
<!-- Validation -->
<AutoSDK_GenerateModelValidationMethods>true</AutoSDK_GenerateModelValidationMethods>
<AutoSDK_ComputeDiscriminators>true</AutoSDK_ComputeDiscriminators>
</PropertyGroup>JSON Serialization
<PropertyGroup>
<!-- Serializer (default: SystemTextJson) -->
<AutoSDK_JsonSerializerType>SystemTextJson</AutoSDK_JsonSerializerType>
<!-- For trimming/NativeAOT: reference existing context -->
<AutoSDK_JsonSerializerContext>MyCompany.MyApi.SourceGenerationContext</AutoSDK_JsonSerializerContext>
<!-- Generate context type registrations -->
<AutoSDK_GenerateJsonSerializerContextTypes>true</AutoSDK_GenerateJsonSerializerContextTypes>
</PropertyGroup>Feature Flags
<PropertyGroup>
<!-- C# language features -->
<AutoSDK_UseRequiredKeyword>InSupportedTargetFrameworks</AutoSDK_UseRequiredKeyword>
<AutoSDK_UseExperimentalAttributes>InSupportedTargetFrameworks</AutoSDK_UseExperimentalAttributes>
<!-- Code generation -->
<AutoSDK_GeneratePolyfills>true</AutoSDK_GeneratePolyfills>
<AutoSDK_GenerateExceptions>true</AutoSDK_GenerateExceptions>
<AutoSDK_GenerateCli>false</AutoSDK_GenerateCli>
<!-- Error handling -->
<AutoSDK_IgnoreOpenApiErrors>true</AutoSDK_IgnoreOpenApiErrors>
<AutoSDK_IgnoreOpenApiWarnings>true</AutoSDK_IgnoreOpenApiWarnings>
</PropertyGroup>See Configuration Properties Reference for the complete table.
Edit on GitHub
Last updated on