Я пытаюсь перенести приложение MVC .Net Framework на Windows Server Core. В основном это работало нормально, но я попал в блокиратор и не знаю, как его обойти.
В одной части кода приложение пытается прочитать файл Excel, используя Provider = Microsoft.ACE.OLEDB.12.0.
Он использует 64-битное ядро СУБД Access.
В Server Core этот код всегда дает сбой. Я не могу зафиксировать ошибку, так как это сразу приводит к сбою веб-процесса.
Чтобы попытаться отладить его, я запустил новый экземпляр Server 2019, используя ту же конфигурацию и тот же шаблон запуска.
В этом новом экземпляре код работал нормально.
Это мои пользовательские данные для экземпляров ...
<powershell>
Enable-WindowsOptionalFeature -Online -All -FeatureName IIS-WebServerRole, `
IIS-WebServer, `
IIS-HttpErrors, `
IIS-HttpRedirect, `
IIS-HttpCompressionStatic, `
IIS-HttpCompressionDynamic, `
IIS-StaticContent, `
IIS-RequestFiltering, `
IIS-Security, `
IIS-ASPNET, `
IIS-ASPNET45
Remove-Website -Name "Default Web Site"
New-NetFirewallRule -DisplayName "Allow Custom IIS Websites" -Direction Inbound -LocalPort 8081-8084 -Protocol TCP -Action Allow
Set-TimeZone -Id "AUS Eastern Standard Time"
copy-s3object -BucketName my-utils-bucket -Key "utils-folder/accessdatabaseengine_X64.exe" -LocalFile "$Env:TEMP\accessdatabaseengine_X64.exe"
&"$Env:TEMP\accessdatabaseengine_X64.exe" /quiet
Invoke-WebRequest -Uri "https://awscli.amazonaws.com/AWSCLIV2.msi" -OutFile "$Env:Temp/AWSCLIV2.msi"
Start-Process msiexec.exe -Wait -ArgumentList "/i ""$Env:Temp\AWSCLIV2.msi"" /qn";
</powershell>
За исключением пользовательского интерфейса, эти 2 сервера должны быть идентичными.
После запуска единственное, что я делаю, это запускаю код для регистрации агента Azure Devops.
Может ли кто-нибудь подсказать, почему экземпляры Server Core могут иметь проблемы с драйвером Ace? Насколько я понимаю, ядро сервера было практически идентичным, за исключением пользовательского интерфейса.