执行增量构建时 dll 消失
dlls disappear when performing an incremental build
我正在使用 Visual Studio 2019 编译一个解决方案。这个解决方案有两个项目,我们可以称它们为 Common 和 Program。程序依赖于 Common 和 Common 依赖于 NuGet 包 LibVLCSharp
、LibVLCSharp.WPF
和 VideoLAN.LibVLC.Windows
.
如果我清理然后构建程序,一切都很好:dll 已正确复制到 bin/Debug
或 bin/Release
。但是,如果我对程序进行任何更改并在不清理的情况下对其进行编译,则与 VLC 相关的 dll 就会消失。
dll 消失的原因是什么?
在 visual studio UI 中,当我编译项目时,我没有看到它是 运行 的命令。我该如何调试它?
您似乎在 Common
项目而不是 Program
项目中引用 VideoLAN.LibVLC.Windows
。我们不支持这种情况。
我写了。
简而言之,您应该只将 LibVLC
包安装到您的应用程序项目中,因为我们插入了一个将文件复制到您项目的输出文件夹的构建步骤。
如果您在 Common
项目中引用 LibVLC 项目,我们无法将文件复制到 Program
项目中,因为它不被 MSBuild 识别。然后,您必须告诉 MSBuild 将这些文件从 Common/bin/...
复制到 Project/bin/...
,但相信我,您不想弄乱 MSBuild。
编辑:这并不意味着您不能在 Common 项目中使用 LibVLCSharp。您可以在 Common
项目中引用 LibVLCSharp 包,因为它仅在运行时依赖于 VideoLAN.LibVLC.Windows
。
我正在使用 Visual Studio 2019 编译一个解决方案。这个解决方案有两个项目,我们可以称它们为 Common 和 Program。程序依赖于 Common 和 Common 依赖于 NuGet 包 LibVLCSharp
、LibVLCSharp.WPF
和 VideoLAN.LibVLC.Windows
.
如果我清理然后构建程序,一切都很好:dll 已正确复制到 bin/Debug
或 bin/Release
。但是,如果我对程序进行任何更改并在不清理的情况下对其进行编译,则与 VLC 相关的 dll 就会消失。
dll 消失的原因是什么? 在 visual studio UI 中,当我编译项目时,我没有看到它是 运行 的命令。我该如何调试它?
您似乎在 Common
项目而不是 Program
项目中引用 VideoLAN.LibVLC.Windows
。我们不支持这种情况。
我写了
简而言之,您应该只将 LibVLC
包安装到您的应用程序项目中,因为我们插入了一个将文件复制到您项目的输出文件夹的构建步骤。
如果您在 Common
项目中引用 LibVLC 项目,我们无法将文件复制到 Program
项目中,因为它不被 MSBuild 识别。然后,您必须告诉 MSBuild 将这些文件从 Common/bin/...
复制到 Project/bin/...
,但相信我,您不想弄乱 MSBuild。
编辑:这并不意味着您不能在 Common 项目中使用 LibVLCSharp。您可以在 Common
项目中引用 LibVLCSharp 包,因为它仅在运行时依赖于 VideoLAN.LibVLC.Windows
。