Tag: unmanaged

非托pipeDLL无法加载到ASP.NET服务器上

这个问题涉及一个ASP.NET网站,最初是在VS 2005中开发的,现在在VS 2008中开发。 这个网站使用了两个非托pipe的外部DLL,它们不是.NET,我没有源代码来编译它们,并且必须按原样使用它们。 这个网站在Visual Studio中运行良好,正确定位和访问这些外部DLL。 但是,当网站发布到networking服务器(运行IIS6和ASP.NET 2.0)而不是开发PC时,它无法find并访问这些外部DLL,并且出现以下错误: Unable to load DLL 'XYZ.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 外部DLL位于网站的bin目录中,以及包含它们的托pipeDLL以及网站的所有其他DLL。 search这个问题揭示了许多其他人似乎有相同的问题从ASP.NET网站访问外部非.NET DLL,但我还没有find一个解决scheme。 我已经尝试了以下内容: 运行DEPENDS以检查依赖关系,以确定前三个位于path中的System32目录中,最后一个位于.NET 2框架中。 我把这两个DLL和它们的依赖关系放在System32中,并重新启动服务器,但是网站仍然无法加载这些外部DLL。 给ASPNET,IIS_WPG和IUSR(对于那个服务器)的完全的权利到网站的bin目录,并重新启动,但网站仍然无法加载这些外部的DLL。 将外部DLL作为现有项添加到项目中,并将其“复制到输出”属性设置为“始终复制”,而网站仍然无法find这些DLL。 还将其“Build Action”属性设置为“Embedded resource”,网站仍然无法findDLL。 任何援助这个问题将不胜感激!

在C#应用程序中使用C ++类DLL

我有一个非托pipe的C ++ DLL,它只是导出一个类(不是COM …它只是一个简单的C ++类)作为它的接口。 我想在C#中使用这个类,但被告知它不能被导入到C#中。 在我的C#应用​​程序中使用这个类的正确方法是什么?

将非托pipedllembedded托pipe的C#dll

我有一个托pipe的C#DLL,它使用了一个使用DLLImport的非托pipeC ++ DLL。 一切都很好。 不过,我想embedded我托pipe的DLL内的非托pipeDLL作为微软解释说: http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.dllimportattribute.dllimportattribute.aspx 所以我将非托pipedll文件添加到我的托pipedll项目中,将该属性设置为“Embedded Resource”并将DLLImport修改为如下所示: [DllImport("Unmanaged Driver.dll, Wrapper Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null", CallingConvention = CallingConvention.Winapi)] 其中“包装引擎”是我的托pipeDLL的程序集名称“非托pipe的Driver.dll”是非托pipe的DLL 当我跑步时,我得到: 访问被拒绝。 (从HRESULTexception:0x80070005(E_ACCESSDENIED)) 我从MSDN和http://blogs.msdn.com/suzcook/看到这应该是可能的…