我想制作 ac# 库(库范围是与 Google 联系人 api 的通信),并在库中嵌入依赖项。
因此,在我的类构造函数中,我输入了以下代码:
AppDomain.CurrentDomain.AssemblyResolve += (sender, evento) =>
{
var assemblyName = evento.Name.Split(',')[0].Trim();
if (assemblyName.ToLower().Equals("google.gdata.contacts"))
return Assembly.Load(Assembly.GetExecutingAssembly().GetEmbeddedResource("Contacts.Assembly.Google.GData.Contacts.dll"));
else if (assemblyName.ToLower().Equals("google.gdata.client"))
return Assembly.Load(Assembly.GetExecutingAssembly().GetEmbeddedResource("Contacts.Assembly.Google.GData.Client.dll"));
else if (assemblyName.ToLower().Equals("google.gdata.extensions"))
return Assembly.Load(Assembly.GetExecutingAssembly().GetEmbeddedResource("Contacts.Assembly.Google.GData.Extensions.dll"));
else if (assemblyName.ToLower().Equals("newtonsoft.json"))
return Assembly.Load(Assembly.GetExecutingAssembly().GetEmbeddedResource("Contacts.Assembly.Newtonsoft.Json.dll"));
return null;
};
这样,当AppDomain尝试解析 Google 联系人库或其依赖项时,我会返回我的嵌入式程序集。这个作品!!!
我的问题是当我调用此代码时:
RequestSettings settings = new RequestSettings("ApplicationName");
ContactsRequest cr = new ContactsRequest(settings);
Feed<Google.Contacts.Contact> f = cr.GetContacts();
此代码同样适用于 RequestSettings(此类在 google.data.client.dll 中),但是当尝试创建 ContactRequest 实例(此类在 google.data.contacts.dll 中)时,它会引发“ MissingMethodException ”。
为什么代码返回此错误?