我使用添加现有文件在项目OldTesters中添加了一个非托管 dll。我还设置了 BuildAction = Content 和Copy to Output Directory = Copy if newer。我通过[DllImport("unamanged.dll")]在 OldTesters 项目中使用非托管 dll 中的一些函数
OldTesters是我在主项目中使用添加引用引用的 .NET 项目。
问题是当我重建应用程序时一切正常,但随后我关闭应用程序,然后单击开始,它会抛出DllNotFoundException
无法加载 DLL 'unmanaged.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)
我注意到 Visual Studio 从 bin 目录中删除了 unmanaged.dll。
如果我重建 OldTesters 项目,那么它将起作用。但是重建 OldTesters 总是很烦人,因为我没有在那个项目中添加任何更改。为了证明这一点,如果我点击构建,我将得到:
========== 构建:0 成功,0 失败,6 最新,0 跳过 ==========
因为项目中没有任何变化。当我运行应用程序时,我得到了同样的异常。