WPF .NET CORE 3.0 упаковка с Costura.Fody - PullRequest
0 голосов
/ 08 октября 2019

При переносе WPF Project в .NET CORE 3.0 и попытке упаковать сборки с помощью Costura я получаю следующую ошибку:

Целевой процесс завершился, не вызвав событие запуска CoreCLR. Убедитесь, что целевой процесс настроен на использование .NET Core. Этого можно ожидать, если целевой процесс не запущен в .NET Core. Программа «[7980] CryptoBot.exe» вышла с кодом -2147450740 (0x8000808c). Программа «[7980] CryptoBot.exe: трассировка программы» завершилась с кодом 0 (0x0).

enter image description here

Я обнаружил, что причинаТакое поведение заключается в том, что Costura.Fody неправильно обрабатывает файл *.deps.json и что он должен быть "удален или изменен соответствующим образом" мной.

При таком подходе есть две проблемы:

Первое: я использую файл database.sqlite для хранения данных, удаление *.deps.json прервет ссылки на e_sqlite3.dll, а я нетзнать, как правильно его изменить (просто добавьте базовые пакеты sqlite с помощью nuget в пустой проект, если вы хотите его проверить):

enter image description here

Секунда:Даже если это сработало, оно не выдает ни одного .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 и ничего больше.

...