我得到「無法確定域的身份」使用通過COM互操作System.IO.Packaging程序時,有兩種描述爲什麼發生這種情況了幾篇文章和解決方案是在自己的AppDomain中運行違規函數。無法使用System.IO.Packaging程序
所以我拿了樣本代碼,看起來像下面的樣子,但我仍然得到錯誤,我想知道我在做什麼錯誤,並且VS 2010中它說AddAssembly和AddHost已經過時 - 我不知道這是否意味着他們不再實現,但如果這是我真的不明白如何使用新方法(AddAssemblyEvidence和AddHostEvidence)?
AppDomainSetup setup = new AppDomainSetup();
setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory;
Evidence evidence = new Evidence(AppDomain.CurrentDomain.Evidence);
evidence.AddAssembly(Assembly.GetExecutingAssembly().FullName);
evidence.AddHost(new Zone(SecurityZone.MyComputer));
AppDomain domain = AppDomain.CreateDomain("BlobPackage", evidence, setup);
BlobPackage blob_interal = (BlobPackage)domain.CreateInstanceAndUnwrap(typeof(BlobPackage).Assembly.FullName, typeof(BlobPackage).FullName);
blob_interal.pack(FilePath, RootPath, m_source_files); <-- STILL FAILS
AppDomain.Unload(domain);
您可以使用新的方法是這樣的: 'evidence.AddAssemblyEvidence(新ApplicationDirectory(Assembly.GetExecutingAssembly()全名)。);' 'evidence.AddHostEvidence(新區(SecurityZone.MyComputer));' – Kosau