.net核心中的Assembly.get_Evidence的替换

时间:2019-03-08 03:14:24

标签: c# .net .net-core

我正在将应用程序从.net框架移植到.net核心。 在我的应用中,我有类似以下代码:

IEnumerator assemblyEvidenceEnumerator = callingAssembly.Evidence.GetHostEnumerator();
while (assemblyEvidenceEnumerator.MoveNext())
{
    System.Security.Policy.StrongName sn = assemblyEvidenceEnumerator.Current as System.Security.Policy.StrongName;
    if (sn != null)
    {
        string callingAssemblyPublicKeyStr = sn.PublicKey.ToString().ToUpperInvariant();
        // some logic to compare with InternalVisibleTo like below
        if (string.CompareOrdinal(callingAssemblyPublicKeyStr, internalVisibleToAssemblyPublicKey) == 0)
        {
            return true;
        }
        break;
    }
}

我需要从调用程序集获取Evidence,以确保它是我要internalVisibileTo的程序集。但是,as described here Assembly.get_Evidence现在不可用。

反正我可以在.net核心中检查程序集的全名来代替上面的代码吗?

0 个答案:

没有答案