winforms 尝试在程序中嵌入额外的dll

olhwl3o2  于 2022-11-25  发布在  其他
关注(0)|答案(1)|浏览(133)

我有一个使用PdfiumPdfiumViewer的程序。一切正常,但我必须将pdfium.dll和PdfiumViewer.dll与我的.exe放在同一个目录中才能使它正常工作。如果pdfium.dll丢失,我会得到“无法加载DLL 'pdfium.dll'"。如果PdfiumViewer.dll丢失,我会得到TypeInitializationException
我有Costura.Fody作为我的程序的一部分,我假设它会将这些dll打包到. exe中。有什么原因它没有这样做(或者我可以用其他方法这样做吗?)

e7arh2l6

e7arh2l61#

将现有元素lib.dll添加到解决方案中并指定嵌入的资源类型

using (var stream = typeof(Program).Assembly.GetManifestResourceStream("AppName.lib.dll"))
    {
    byte[] assemblyData = new byte[stream.Length];
    stream.Read(assemblyData, 0, assemblyData.Length);
    File.WriteAllBytes("lib.dll", assemblyData);
    }

相关问题