将Fax.NET项目升级到.NET 4 Client Profile后,我得到了以下例外:
MissingMethodException:
Constructor on type 'Microsoft.Win32.SafeHandles.SafeRegistryHandle' not found.
此函数的return语句出现异常:
private static SafeHandle CreateRegistrySafeHandle(IntPtr handle)
{
Type type;
type = typeof(SafeHandle).Assembly.GetType("Microsoft.Win32.SafeHandles.SafeRegistryHandle");
return (SafeHandle)Activator.CreateInstance(
type,
BindingFlags.Instance | BindingFlags.NonPublic,
null,
new object[] { handle, true },
null);
}
这个例外的解决方案是什么?
答案 0 :(得分:0)
自{4}以来,SafeRegistryHandle Constructor是公开的(BindingFlags.Public),而不是内部或私有(BindingFlags.NonPublic)。
如果您有权访问源代码,则可以使用
替换该方法private static SafeHandle CreateRegistrySafeHandle(IntPtr handle)
{
return new SafeRegistryHandle(handle, true);
}