我正在将应用程序从.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核心中检查程序集的全名来代替上面的代码吗?