首页 > 解决方案 > Linux 中的 .NET Core 和来自外部库的 DLLImport

问题描述

我有一个使用Microsoft.Xrm.Client程序集的 .NET Core 项目。它在 Linux 上运行良好,除了一种特殊情况,即 Xrm.Client 想要创建顺序 GUID。它依赖于 DLLImport 和UuidCreateSequential来自本地 Windows 的Rpcrt4.dll. 当然,它在 Linux 上会崩溃。

相关(反编译)代码是:

namespace Microsoft.Xrm.Sdk.Client
{
  [SecurityCritical]
  internal static class NativeMethods
  {
    [SecurityCritical]
    [DllImport("Rpcrt4", CallingConvention = CallingConvention.StdCall, SetLastError = true)]
    public static extern long UuidCreateSequential(ref Guid ptrGuid);
  }
}

我不控制这段代码,我认为我的选择是:

哪种解决方案更好并且可行?一个人将如何处理它?

标签: c#linux.net-corepinvokedllimport

解决方案


推荐阅读