C# WPF - VLC - LibVLCSharp.共享. VLC异常:'无法加载所需的本机库

6qftjkof  于 2023-01-10  发布在  C#
关注(0)|答案(1)|浏览(217)

我已经在code.videolan网站上测试了WPF最小VLC示例,它工作正常。
然后,我按照微软文档here为Windows商店准备(并打包)应用程序,基本上它不再与加载库失败消息一起工作。
将. package项目设置为启动项目会产生问题。这些是我拥有的包,尽管UWP刚刚添加,并且没有在任何地方引用。

在VLC示例中,它直接在Core.Initialize()上失败;

void VideoView_Loaded(object sender, RoutedEventArgs e)
{
     Core.Initialize();

     _libVLC = new LibVLC();
     _mediaPlayer = new MediaPlayer(_libVLC);

     VideoView.Media

     _mediaPlayer.Play(new Media(_libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4")));
}

如果我把:

var url = typeof(LibVLC).Assembly.Location;

在Core.ini行之前检查它的查找位置,我得到:"C:\用户\法郎\文档\Visual Studio 2019\项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\LibVLCSharp.dll"
在我看来还可以...有什么建议吗?

    • 编辑1**

未在AppX文件夹下创建libvlc文件夹:
{"无法加载所需的本机库。\r\n是否已从nuget为目标平台安装了最新的LibVLC包?\r\n搜索路径包括
...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlccore.dll; ...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\调试\应用程序\VLCTest\libvlc\win-x64\libvlccore.dll; ...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\libvlc.dll,"}

所以我手动将文件夹从WPF项目(不再是启动项目)复制到新的. package启动项目AppX ...文件夹,它工作了。
什么是干净的解决方案呢?

h7appiyu

h7appiyu1#

Package 与MSIX从来没有测试过,据我所知。
您的libvlc.dll、libvlccore.dll文件和插件文件夹是否正确复制到应用的DLL旁边?
如果您不使用UWP,请不要引用LVS.UWP。

相关问题