我正在使用Visual 2019编译一个解决方案。这个解决方案有两个项目,我们可以称之为公共和程序。程序依赖于公共,而公共依赖于NuGet包LibVLCSharp、LibVLCSharp.WPF和VideoLAN.LibVLC.Windows。
如果我清理并构建程序,一切都很好:在bin/Debug或bin/Release中正确地复制了dll。但是,如果我对“程序”做了任何更改,并在不清理它的情况下编译它,相对于VLC的dll将消失。
dlls消失的原因是什么?在中,我在编译项目时看不到它正在运行的命令。我如何调试它?
发布于 2020-05-19 12:13:24
您似乎是在Common项目上引用Common,而不是在Program项目中引用Program。这不是我们所支持的情况。
我写了this explanation about which project you should install LibVLC in。
简而言之,您应该只将LibVLC包安装到应用程序项目中,因为我们插入了一个构建步骤,该步骤将文件复制到项目的输出文件夹中。
如果在LibVLC项目中引用Common项目,则无法将文件复制到Program项目,因为MSBuild不知道该文件。然后,您将不得不告诉MSBuild将这些文件从Common/bin/...复制到Project/bin/...,但是相信我,您不想搅乱MSBuild。
编辑:这并不意味着您不能在您的公共项目中使用LibVLCSharp。您可以在您的LibVLCSharp项目中引用Common包,因为它只依赖于运行时的VideoLAN.LibVLC.Windows。
https://stackoverflow.com/questions/61887262
复制相似问题