MIP SDK错误:LoadLibrary因以下原因而失败:[sdk_wrapper_dotnet.dll]使用c#

时间:2019-02-11 09:07:51

标签: c# azure-information-protection

遵循此https://docs.microsoft.com/en-us/information-protection/develop/setup-configure-mip 我已经创建了控制台应用程序,添加了代码。运行后出现以下错误: LoadLibrary失败,原因是:[sdk_wrapper_dotnet.dll]位于MIP.Initialize(MipComponent.File);

请让我知道我在想什么。

谢谢, 拉吉

4 个答案:

答案 0 :(得分:1)

SDK dll-s与您的运行配置不兼容。尝试将处理器从“任何CPU”更改为“ x64”。

答案 1 :(得分:1)

 `
//Step 1:
 internal static class UnsafeKernel32NativeMethods
    {
        [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode,
            CallingConvention = CallingConvention.StdCall)]
        internal static extern bool SetDllDirectory([In] [MarshalAs(UnmanagedType.LPWStr)] string lpPathName);
    }

//第2步:设置bins文件夹的路径

var path = Path.Combine(                                    Directory.GetParent(Path.GetDirectoryName(新Uri(System.Reflection.Assembly.GetExecutingAssembly()。CodeBase).LocalPath))。FullName,                            Environment.Is64BitProcess吗? “ binsx64”:“ binsx86”);

//第3步:使用自定义UnsafeKernel32NativeMethods类来配置托管到非托管编组。

Utilities.UnsafeKernel32NativeMethods.SetDllDirectory(path);

///完成上述步骤后,以下代码在Web应用程序中运行 MIP.Initialize(MipComponent.File);

`

答案 2 :(得分:0)

我的解决方案是从https://www.microsoft.com/en-us/download/details.aspx?id=48145安装Visual Studio 2015的Visual C ++ Redistributable。我猜MIP SDK对此有依赖性。我使用的是64位操作系统,因此仅安装vc_redist.x64.exe就可以解决问题。

答案 3 :(得分:0)

如果您尝试在IIS上运行它,请确保在64位模式下运行它。

Visual Studio 2013中现在有一个选项可以指示IIS Express(通常用于调试)以64位模式运行。 在工具->选项->项目和解决方案-> Web项目->使用IIS Express的64位版本中……