Как вшить внешнюю библиотеку dll в .exe?
Часто при создании проектов на C# мы сталкиваемся с ситуацией, когда импортируемые библиотеки располагаются рядом с файлом .exe. Для того, чтобы сделать проект легко переносимым, чтобы он работал только запуске .exe и не требовал внешних файлов, а все библиотеки (импортируемые библиотеки из NuGet с расширением dll вшивались в выходной .exe), используем решение из NuGet - Costura.Fody.
Для установки используем командную строку менеджера пакетов NuGet:
Install-Package Costura.FodyПосле добавления его в проект он автоматически вставляет все ссылки, которые копируются в выходной каталог в вашу основную сборку. Возможно, вы захотите очистить встроенные файлы, добавив цель в свой проект:
Install-CleanReferencesTargetРешение найдено в англоязычном stackoverflow и сочтено весьма полезным автором данного блога: https://stackoverflow.com/questions/189549/embedding-dlls-in-a-compiled-executable
Комментарии
Отправить комментарий