Я хочу проводить сертификацию при создании приложения, а не при его создании вручную. Я написал сценарий для создания сертификата, а затем вызываю его из моего файла .csproj. Но проблема в следующем: когда я запускаю первую сборку, она возвращает ошибку; но в следующий раз (после генерации сертификата из неудачной сборки (сертификаты можно увидеть в проекте)) и далее ошибок нет, и все работает гладко.
Вот подробности - это в моем файле .csproj:
Вот какая ошибка я получаю:
Исключение при обработке команд для EventSource Dotnet-dev-certs: событию WslWindowsTrustSucceeded был назначен идентификатор события 115, но 113 было передано в WriteEvent.
Команда "call" C:\path\to\file\setup-certificate.bat" завершился с кодом -1.
Вот пакетный файл:
@echo off
:: Define certificate in project directory
set "CERT_FILE=%~dp0server.pfx"
set "CERT_PASSWORD=my_test_pwd"
:: Check if certificate already exists
if exist "%CERT_FILE%" (
echo [INFO] Certificate already exists: server.pfx - Skipping setup.
exit /b 0
)
echo [INFO] Generating development certificate...
dotnet dev-certs https -ep "%CERT_FILE%" -p "%CERT_PASSWORD%" 2>nul
if errorlevel 1 (
echo [ERROR] Failed to generate certificate!
exit /b 1
)
echo [INFO] Certificate generated successfully!
:: Trust the certificate (ignore exit code as it can return -1 even on success)
echo [INFO] Trusting the certificate...
dotnet dev-certs https --trust 2>nul || echo [INFO] Certificate trust completed (you may see a prompt)
:: Update appsettings.json
echo [INFO] Updating appsettings.json...
set "APPSETTINGS=%~dp0appsettings.json"
powershell -Command "(Get-Content '%APPSETTINGS%') -replace '\"CertificatePassword\": \".*\"', '\"CertificatePassword\": \"%CERT_PASSWORD%\"' | Set-Content '%APPSETTINGS%'" 2>nul
powershell -Command "(Get-Content '%APPSETTINGS%') -replace '\"CertificatePath\": \".*\"', '\"CertificatePath\": \"roommate-server.pfx\"' | Set-Content '%APPSETTINGS%'" 2>nul
powershell -Command "(Get-Content '%APPSETTINGS%') -replace '\"EnableSSL\": false', '\"EnableSSL\": true' | Set-Content '%APPSETTINGS%'" 2>nul
echo [INFO] Setup complete! Certificate: server.pfx, Password: %CERT_PASSWORD%
exit /b 0
Подробнее здесь: https://stackoverflow.com/questions/798 ... harp-proje