Migrated the legacy VB.NET Windows Service to a modern C# Worker Service targeting .NET Framework 4.6.2. Key changes include: - Added `Microsoft.Extensions.Hosting.WindowsServices`, `NLog`, and `Quartz` for logging and scheduling. - Introduced `LogConfigFactory` to bridge `ServiceConfig` and `LogConfig` for Quartz jobs. - Rewrote `Worker` to handle the full service lifecycle, including database connection, temp file management, and scheduler initialization. - Implemented `SchedulerFinishEnvelope` and `SchedulerEnvelopeTaskApi` for Quartz job scheduling. - Created `TempFiles` for service-level temp file management. - Configured `NLog` for file and console logging. - Updated `appsettings.json` for connection strings and service-specific configuration. - Replaced legacy `ProjectInstaller` with `AddWindowsService()` for SCM integration.
42 lines
1.8 KiB
XML
42 lines
1.8 KiB
XML
<Project Sdk="Microsoft.NET.Sdk.Worker">
|
||
|
||
<PropertyGroup>
|
||
<TargetFrameworks>net4.6.2</TargetFrameworks>
|
||
<Nullable>enable</Nullable>
|
||
<ImplicitUsings>enable</ImplicitUsings>
|
||
<UserSecretsId>dotnet-EnvelopeGenerator.Service-816256a4-c636-4313-92c0-b62b04040c2b</UserSecretsId>
|
||
<LangVersion>latest</LangVersion>
|
||
</PropertyGroup>
|
||
|
||
<ItemGroup>
|
||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="8.0.1" />
|
||
<PackageReference Include="Microsoft.Extensions.Hosting.WindowsServices" Version="7.0.0" />
|
||
<PackageReference Include="NLog" Version="5.3.1" />
|
||
<PackageReference Include="NLog.Extensions.Logging" Version="5.3.9" />
|
||
</ItemGroup>
|
||
|
||
<!-- DigitalData & Quartz: local packages, must match CommonServices versions exactly -->
|
||
<ItemGroup>
|
||
<Reference Include="DigitalData.Modules.Database">
|
||
<HintPath>..\packages\DigitalData.Modules.Database.2.3.5.4\lib\net462\DigitalData.Modules.Database.dll</HintPath>
|
||
</Reference>
|
||
<Reference Include="DigitalData.Modules.Encryption">
|
||
<HintPath>..\packages\DigitalData.Modules.Encryption.1.3.1\lib\net462\DigitalData.Modules.Encryption.dll</HintPath>
|
||
</Reference>
|
||
<Reference Include="DigitalData.Modules.Logging">
|
||
<HintPath>..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll</HintPath>
|
||
</Reference>
|
||
<!-- Quartz 3.8.0 <20> must match CommonServices (same AppDomain, one version) -->
|
||
<Reference Include="Quartz">
|
||
<HintPath>..\packages\Quartz.3.8.0\lib\net462\Quartz.dll</HintPath>
|
||
</Reference>
|
||
</ItemGroup>
|
||
|
||
<ItemGroup>
|
||
<ProjectReference Include="..\EnvelopeGenerator.CommonServices\EnvelopeGenerator.CommonServices.vbproj" />
|
||
<ProjectReference Include="..\EnvelopeGenerator.Domain\EnvelopeGenerator.Domain.csproj" />
|
||
</ItemGroup>
|
||
|
||
|
||
</Project>
|