Introduced `EnvelopeGeneratorOptions` and `SqlCacheOptions` to enable fine-grained control over optional service registrations in `AddEnvelopeGenerator`. Updated `AddEnvelopeGenerator` to conditionally register services like `HttpContextAccessor`, `DistributedSqlServerCache`, `Dispatcher`, `MemoryCache`, and `UserManager` based on these options. Updated `DependencyInjection.csproj` to include necessary framework references and package dependencies. Simplified `Program.cs` by consolidating service registrations into `AddEnvelopeGenerator`, reducing boilerplate and improving maintainability. Improved extensibility by centralizing service registration logic, allowing consuming projects to customize configurations without modifying the core library. Updated documentation and removed unused directives.
89 lines
4.9 KiB
XML
89 lines
4.9 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
||
|
||
<PropertyGroup>
|
||
<TargetFrameworks>net7.0;net8.0;net9.0</TargetFrameworks>
|
||
<ImplicitUsings>enable</ImplicitUsings>
|
||
<Nullable>enable</Nullable>
|
||
|
||
<!-- NuGet package metadata -->
|
||
<PackageId>EnvelopeGenerator</PackageId>
|
||
<Authors>Digital Data GmbH</Authors>
|
||
<Company>Digital Data GmbH</Company>
|
||
<Product>EnvelopeGenerator</Product>
|
||
<Description>
|
||
Envelope Generator ist eine Bibliothek zur Verwaltung und Verarbeitung digitaler Umschläge (Envelopes).
|
||
Dieses Paket enthält die Dependency-Injection-Erweiterungsmethoden und bündelt die Application-
|
||
sowie Infrastructure-Schicht in einer einzigen NuGet-Referenz.
|
||
</Description>
|
||
<Copyright>Copyright 2024 Digital Data GmbH</Copyright>
|
||
<RepositoryUrl>http://git.dd:3000/AppStd/EnvelopeGenerator.git</RepositoryUrl>
|
||
<PackageTags>digital data envelope generator di dependency injection</PackageTags>
|
||
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
|
||
<Version>1.0.1</Version>
|
||
<AssemblyVersion>1.0.1</AssemblyVersion>
|
||
<FileVersion>1.0.1</FileVersion>
|
||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||
</PropertyGroup>
|
||
|
||
<!-- ASP.NET Core shared framework (AddHttpContextAccessor, AddMemoryCache, etc.) -->
|
||
<ItemGroup>
|
||
<FrameworkReference Include="Microsoft.AspNetCore.App" />
|
||
</ItemGroup>
|
||
|
||
<ItemGroup>
|
||
<PackageReference Include="DigitalData.EmailProfilerDispatcher" Version="3.1.1" />
|
||
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="9.0.6" />
|
||
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.6" />
|
||
<PackageReference Include="UserManager" Version="1.1.3" />
|
||
</ItemGroup>
|
||
|
||
<ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
|
||
<PackageReference Include="Microsoft.Extensions.Caching.SqlServer" Version="7.0.20" />
|
||
</ItemGroup>
|
||
|
||
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">
|
||
<PackageReference Include="Microsoft.Extensions.Caching.SqlServer" Version="8.0.17" />
|
||
</ItemGroup>
|
||
|
||
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
||
<PackageReference Include="Microsoft.Extensions.Caching.SqlServer" Version="9.0.6" />
|
||
</ItemGroup>
|
||
|
||
<ItemGroup>
|
||
<ProjectReference Include="..\EnvelopeGenerator.Application\EnvelopeGenerator.Application.csproj">
|
||
<PrivateAssets>all</PrivateAssets>
|
||
</ProjectReference>
|
||
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj">
|
||
<PrivateAssets>all</PrivateAssets>
|
||
</ProjectReference>
|
||
<ProjectReference Include="..\EnvelopeGenerator.Infrastructure\EnvelopeGenerator.Infrastructure.csproj">
|
||
<PrivateAssets>all</PrivateAssets>
|
||
</ProjectReference>
|
||
</ItemGroup>
|
||
|
||
<!-- Bağımlı projelerin DLL'lerini paketin lib klasörüne dahil et -->
|
||
<Target Name="IncludeDependencyDlls" BeforeTargets="_GetPackageFiles">
|
||
<ItemGroup>
|
||
<_DepDlls Include="
|
||
..\EnvelopeGenerator.Application\bin\$(Configuration)\%(ProjectReference.TargetFramework)\EnvelopeGenerator.Application.dll;
|
||
..\EnvelopeGenerator.Domain\bin\$(Configuration)\%(ProjectReference.TargetFramework)\EnvelopeGenerator.Domain.dll;
|
||
..\EnvelopeGenerator.Infrastructure\bin\$(Configuration)\%(ProjectReference.TargetFramework)\EnvelopeGenerator.Infrastructure.dll" />
|
||
</ItemGroup>
|
||
</Target>
|
||
|
||
<Target Name="BundleReferencedDlls" AfterTargets="Build">
|
||
<ItemGroup>
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Application\bin\$(Configuration)\net7.0\EnvelopeGenerator.Application.dll" TargetFramework="net7.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Application\bin\$(Configuration)\net8.0\EnvelopeGenerator.Application.dll" TargetFramework="net8.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Application\bin\$(Configuration)\net9.0\EnvelopeGenerator.Application.dll" TargetFramework="net9.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Domain\bin\$(Configuration)\net7.0\EnvelopeGenerator.Domain.dll" TargetFramework="net7.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Domain\bin\$(Configuration)\net8.0\EnvelopeGenerator.Domain.dll" TargetFramework="net8.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Domain\bin\$(Configuration)\net9.0\EnvelopeGenerator.Domain.dll" TargetFramework="net9.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Infrastructure\bin\$(Configuration)\net7.0\EnvelopeGenerator.Infrastructure.dll" TargetFramework="net7.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Infrastructure\bin\$(Configuration)\net8.0\EnvelopeGenerator.Infrastructure.dll" TargetFramework="net8.0" />
|
||
<BuildOutputInPackage Include="..\EnvelopeGenerator.Infrastructure\bin\$(Configuration)\net9.0\EnvelopeGenerator.Infrastructure.dll" TargetFramework="net9.0" />
|
||
</ItemGroup>
|
||
</Target>
|
||
|
||
</Project>
|