【发布时间】:2013-10-05 03:50:32
【问题描述】:
我正在使用 Microsoft Visual Studio Express 2012 for Windows Desktop(管理员)
我有一个项目库FOO.DLL,其中“复制到输出目录”单击为“始终复制”。
大多数情况下,这个 DLL 加载正确,每个人都很开心。
有时,我会收到带有消息的System.DllNotFoundException:
Additional information: Unable to load DLL 'FOO.DLL':
Invalid access to memory location. (Exception from HRESULT: 0x800703E6)
在调试和发布中都会出现此错误。它发生在“清理”之后,并且在第二次或第八次运行相同的构建之后。
这是 DLL、.NET 运行时或我的 .NET 代码中的错误吗?
【问题讨论】:
-
我不能肯定地说,因此它只是一个评论。但这听起来像是在部署您的应用程序后就会解决的问题。它感觉更像是构建过程的问题。
-
foo.dll 是托管的还是非托管的?另见stackoverflow.com/questions/5375675/…
-
@Gray 此项目没有“部署过程”。生成一个 EXE 和前面提到的 DLL 的代码只有几千行。
-
@AntonTykhyy 这是一个非托管 DLL。有时有效,有时无效。我从来没有看到任何 DEP 对话框,即使它确实有效。
-
@Cuadue 我的意思是,一旦项目在 Visual Studio 之外分发/独立运行/运行,我认为就可以了。