При переносе WPF
Project в .NET CORE 3.0
и попытке упаковать сборки с помощью Costura
я получаю следующую ошибку:
Целевой процесс завершился, не вызвав событие запуска CoreCLR. Убедитесь, что целевой процесс настроен на использование .NET Core. Этого можно ожидать, если целевой процесс не запущен в .NET Core. Программа «[7980] CryptoBot.exe» вышла с кодом -2147450740 (0x8000808c). Программа «[7980] CryptoBot.exe: трассировка программы» завершилась с кодом 0 (0x0).
Я обнаружил, что причинаТакое поведение заключается в том, что Costura.Fody
неправильно обрабатывает файл *.deps.json
и что он должен быть "удален или изменен соответствующим образом" мной.
При таком подходе есть две проблемы:
Первое: я использую файл database.sqlite
для хранения данных, удаление *.deps.json
прервет ссылки на e_sqlite3.dll
, а я нетзнать, как правильно его изменить (просто добавьте базовые пакеты sqlite с помощью nuget в пустой проект, если вы хотите его проверить):
Секунда:Даже если это сработало, оно не выдает ни одного .exe
файла, а скорее маленького .exe
и большого .dll
, содержащего зависимости.
Желаемый результат: я бы хотел, чтобы он работал точно так же, какон работал в .NET Framework
, я хочу один .exe
, содержащий все .dll
s, произведенные на DEBUG
после нажатия CTRL
+ SHIFT
+ B
.
В качестве альтернативы, я также пыталсяэто: dotnet publish -r win-x64 -c Release /p:PublishSingleFile=true
но, похоже, он ничего не упаковывал, он просто поместил все .dll
в папку Release\netcoreapp3.0\win-x64
.
Я предпочитаю, чтобы приложение было упаковано в SINGLE .exe
используя Costura
и ничего больше.