去年,我用SharpDX.Direct3D11.Effects.dll 版本3
询问问题how to solve a DllNotFoundException for sharpdx_direct3d11_effects_x64.dll现在我尝试用版本4 做同样的事情。
我原本期望将两个DLL sharpdx_direct3d11_effects_x64.dll和sharpdx_direct3d11_effects_x32.dll添加到Visual Studio项目中,但它们不是。
这两个DLL的部署机制是否已更改?
答案 0 :(得分:2)
这两个DLL的部署机制是否已更改?
是的,此软件包xoofx的作者已从版本4.0.0-ci120
更改了这两个DLL的部署机制。您可以查看关于4.0.0 release notes的Updated D3D11.Effects to the new project system.。
此外,您可以下载此软件包的两个版本,使用NuGet Package Explorer检查不同版本:
根据官方文件:Supporting multiple .NET framework versions:
如果您具有特定于体系结构的程序集,即面向ARM,x86和x64的单独程序集,则必须将它们放在名为{platform}的子文件夹中名为runtimes 的文件夹中 - {architecture} \ lib {framework}或{platform} - {architecture} \ native。
所以部署机制的变化是正确的。
答案 1 :(得分:1)
好的,由于@Leo-MSFT上面的回答,我得到了这个工作。
这没有用,所以我现在将win-x64 / sharpdx_direct3d11_1_effects.dll复制到项目根目录并重命名为win-x64 / sharpdx_direct3d11_1_effects_x64.dll并设置为Copy Always并且工作正常。
我确信这不是故意的,所以我reported a bug to SharpDX on Github。