代码之家  ›  专栏  ›  技术社区  ›  Steve

当从网络共享启动应用程序时,混合模式C++ + DLL函数调用失败。从非托管c应用程序调用

  •  0
  • Steve  · 技术社区  · 15 年前

    '类型的未处理异常System.IO.FileLoadException异常'发生在未知模块中。

    其他信息:无法加载文件或程序集“XXSharePoint,Version=0.0.0.0,Culture=neutral,PublicKeyToken=e0fbc95fd73fff47”或其依赖项之一。无法授予最小权限请求。(HRESULT异常:0x80131417)

    我的环境是:本地C应用程序调用混合模式C++ DLL,然后加载C语言DLL。当从本地驱动器加载时,它可以正常工作,但是当从网络驱动器启动时,它会失败并显示上述消息。

    调用LoadLibrary成功,GetProcAddress也成功。调用函数时会发生加载错误。

    我尝试删除所有依赖项,所以只有最初的混合模式DLL。。。我将所有函数的主体替换为仅返回一个“success”整数值。结果不变。只有当我将其从混合模式更改为Win32,并将配置属性>>常规>>公共语言运行时支持从“公共语言运行时支持”更改为“无公共语言运行时支持”时,调用DLL才会产生预期的结果(仅返回“success”整数返回值)。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Thomas Maierhofer    15 年前

    您没有在此共享上执行代码的权限。我认为你不能从共享中执行任何.NET应用程序。尝试一下,在共享上放置一些.NET可执行文件,然后尝试执行它。如果无法使用,则必须在.net配置中添加权限才能使用共享。