【问题标题】:sharpdx_direct3d11_effects_x64.dll DLLNotFoundExceptionsharpdx_direct3d11_effects_x64.dll DLLNotFoundException
【发布时间】:2017-10-04 00:48:09
【问题描述】:

部署使用SharpDX.Direct3D11.Effects v3 NuGet 包的 WinForms / WPF 应用程序的正确程序是什么?

它们似乎依赖于两个非托管 DLL:

  • sharpdx_direct3d11_effects_x64.dll
  • sharpdx_direct3d11_effects_x86.dll

是否应该将这些复制到输出目录?作为后期构建步骤还是其他?

【问题讨论】:

  • 在构建后的步骤中将这些文件放入输出文件夹(以及任何其他依赖项)可能就足够了
  • 这就是我的想法 - 只需将复制作为构建步骤。想知道是否有一个聪明的解决方案,因为它为引用 SharpDX.Direct3D11.Effects 的任何库的消费者添加了一个额外的步骤

标签: c# visual-studio nuget sharpdx


【解决方案1】:

在我们从 Visual Studio 发布 WPF/WinForms 应用程序后,它将生成一个 Application Files 文件夹,其中包含 .dll.deploy 文件。

我在我的 WPF 应用程序中安装了 SharpDX.Direct3D11.Effects 包。而在我发布这个应用程序后,我发现sharpdx_direct3d11_effects_x64.dll和sharpdx_direct3d11_effects_x86.dll会生成sharpdx_direct3d11_effects_x64.dll.deploy和sharpdx_direct3d11_effects_x86。dll.deploy 文件在 Application Files 文件夹中。我们不需要将它们复制到输出目录。

如果依赖的 DLL 不包含在您的 Application Files 文件夹中,请通过 Project Properties -> Publish 选项卡 -> Application Files 配置它们,以将这些 Dll 的发布状态设置为 Include。

【讨论】:

  • 太棒了,谢谢温迪。看来 SharpDX 制造商已经想到了一种非常好的方法来部署这些原生 DLL!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 1970-01-01
  • 2022-08-08
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多