标签:dll skia skiasharp c fody-costura
我创建了一个使用Costura.Fody nuget包将引用的程序集合并为嵌入式资源的解决方案.我想要这样做,以便可以为我的应用程序创建一个exe.在我添加了对SkiaSharp的引用(特别是nuget包SkiaSharp和SkiaSharp.Svg)之前,这工作了一段时间. libSkiaSharp.dll未嵌入,而是构建在启动项目文件夹中,除非将dll保留在同一文件夹中,否则我无法自行运行程序exe.有没有办法解决这个问题?
这是重现此步骤的步骤:
1.创建一个新的WPF项目
2.添加Costura.Fody和Fody nuget包.
3.添加一个名为FodyWeavers.xml的文件,其内容设置为此:
<?xml version="1.0" encoding="utf-8" ?>
<Weavers>
<Costura/>
</Weavers>
>在bin / Debug文件夹中生成并运行exe文件.请注意,即使将exe移到新位置,程序也会启动.
>添加SkiaSharp和SkiaSharp.Svg nuget包.
>获取一个svg文件并将其添加到您的项目目录中
>将以下代码添加到您的MainWindow构造函数中:
var svg = new SKSvg();
svg.Load(“ image.svg”);
SKCanvas canvas =新的SKCanvas(新的SKBitmap());
canvas.DrawPicture(svg.Picture);
>请注意,如果您复制图像文件和exe并将其放置在另一个目录中,则该exe将不会启动.发生这种情况是因为它找不到libSkiaSharp.dll.
解决方法:
在您的项目中创建一个Costura32和/或Costura64文件夹.根据其位数将libSkiaSharp.dll复制到适当的目录中. Costura将从这些目录中自动解压缩并加载本机二进制文件.
标签:dll,skia,skiasharp,c,fody-costura 来源: https://codeday.me/bug/20191108/2008427.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。