CryptoPro / corefx

This repo contains the .NET Core foundational libraries, called CoreFX. It includes classes for collections, file systems, console, XML, async and many others. We welcome contributions.
https://github.com/dotnet/core
MIT License
27 stars 7 forks source link

Избавиться от createdump в self-contained сборках на Linux #58

Closed ekx77 closed 2 years ago

ekx77 commented 2 years ago

При dotnet publish в выходные файлы попадает утилита createdump. Это не устраивает регулятора, т.к. в в дистрибутиве не должно быть никаких средств отладки.
Простое удаление приводит в ошибке. Аналогичная проблема есть и в исходном .NET Core (https://github.com/dotnet/runtime/issues/43716). От этой утилиты необходимо избавиться.

Fasjeit commented 2 years ago

Как писали в этой же ветке - помогает удаление файла createdump + модификация deps.json.

Нужно удалить узел в зависимостях:

"createdump": {
    "fileVersion": "0.0.0.0"
},

Пример, как это можно сделать после publish для проекта с именем test:

cd publish
# удаляем createdump
rm ./createdump
# удаляем узел с createdump, пишем результат в tmp файл
jq "del(..|.\"createdump\"?)" test.deps.json > new.test.deps.json
# удаляем старый файл
rm ./test.deps.json
# заменяем его новым
mv new.test.deps.json test.deps.json

После этого проект должен запускаться без ошибок.

ekx77 commented 2 years ago

Это работает, спасибо!