Bạn có thể tìm thấy giải pháp tại đây: http://rekiwi.blogspot.com/2008/12/unable-to-detfining-identity-of-domain.html
Trong thành phần COM, hãy tạo một AppDomain mới với bằng chứng thích hợp và thực thi mã trong đó.
Đây là một ví dụ mã đã khắc phục sự cố cho tôi:
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory.ToString();
//Then we need our evidence
System.Security.Policy.Evidence evidence = new System.Security.Policy.Evidence();
evidence.AddHost(new System.Security.Policy.Zone(System.Security.SecurityZone.MyComputer));
//Now we can fire up an AppDomain running with that evidence.
AppDomain domain = AppDomain.CreateDomain("YourDll.YourClass", evidence, setup);
YourDll.YourClass yourclass = (YourDll.YourClass)domain.CreateInstanceAndUnwrap(typeof(YourDll.YourClass).Assembly.FullName, typeof(YourDll.YourClass).FullName);
yourclass.CallYourMethod();
Bất kỳ loại nào bạn muốn sắp xếp trên AppDomains phải được đánh dấu [Serializable ()] và phải kế thừa từ MarshalByRefObject. Ví dụ:
namespace YourDll
{
[Serializable()]
public class YourClass: MarshalByRefObject
{
...