Я создал решение, использующее пакет nuget Costura.Fody для объединения ссылочных сборок в качестве встроенных ресурсов.Я хочу это, чтобы я мог создать один exe для моего приложения.Некоторое время это работало замечательно, пока я не добавил ссылку на SkiaSharp (в частности, пакеты nuget SkiaSharp и SkiaSharp.Svg).LibSkiaSharp.dll не встроен, а встроен в папку проекта запуска, и я не могу запустить программу exe самостоятельно, если не храню dll в той же папке.Есть ли способ это исправить?
Вот шаги, чтобы воспроизвести это:
1. Создайте новый проект WPF
2. Добавьте пакеты nuura Costura.Fody и Fody.
3. Добавьте файл с именемFodyWeavers.xml с содержимым, установленным на это:
<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
<Costura/>
</Weavers>
Создайте и запустите исполняемый файл в папке bin / Debug.Обратите внимание, что программа запустится, даже если вы переместите exe-файл в новое место. Добавьте пакеты nuget SkiaSharp и SkiaSharp.Svg. получите файл svg и добавьте его в каталог вашего проекта
добавить следующий код в конструктор MainWindow:
var svg = new SKSvg ();svg.Load ( "image.svg");SKCanvas canvas = новый SKCanvas (новый SKBitmap ());canvas.DrawPicture (svg.Picture);
обратите внимание, что если вы скопируете файл изображения и исполняемый файл и поместите его в другой каталог, то исполняемый файл не запустится.Это происходит потому, что он не может найти libSkiaSharp.dll.