无法使用 System.IO.Packaging 确定域的标识

2023-12-02

通过 COM Interop 使用 System.IO.Packaging 时,我收到“无法确定域的身份”,有几篇文章描述了为什么会发生这种情况,解决方案是在其自己的 AppDomain 中运行有问题的函数。

所以我采取了示例代码,如下所示,但我仍然收到错误,我想知道我做错了什么,而且,在 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);

我自己解决了这个问题,我忘记从 MarshalByRefObject 继承我的类。

它有点愚蠢,它允许您创建一个实例并调用它,但它仍然在默认域中运行,您会认为它会抛出异常或其他东西,无论如何将类标记为 [Serialized()] 并从 MarshalByRefObject 派生修复它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 System.IO.Packaging 确定域的标识 的相关文章

  • 为不存在的文件创建 IShellItem 实例

    我怎样才能获得外壳项目 http msdn microsoft com en us library bb761144 aspx不存在的文件 或目录 的对象 SHCreateItemFromParsingName http msdn micr
  • 使用 script/api 更改组件服务 > COM 安全中的访问权限?

    是否有一个 api 可以更改 COM 安全的访问权限 我需要将新值写入 编辑限制 和 编辑默认值 这些是普通的注册表设置吗 找不到如何设置这些条目 快速答案是是 它们是注册表设置 长答案是否 它们不是simple注册表设置 这些值是二进制的
  • 具有多个参数的 COM“获取属性”

    我正在尝试打电话WindowsInstaller Installer ProductsEx http msdn microsoft com en us library aa369461 28v vs 85 29 aspx来自 python
  • C# 如何获取 COM 接口的实例

    我做了很多谷歌搜索 试图找到获取 COM 接口实例的标准方法 微软在他们的文章中提供了一个例子COM 互操作第 1 部分 客户端教程 https msdn microsoft com en us library aa645736 v vs
  • 从 C# 创建 Win32 事件

    我想从 C 创建一个内核 又名事件 我是否必须互操作服务并包装本机 CreateEvent 函数 或者是否已经有一个 NET 类可以完成这项工作 我需要运行的函数应该是这样的 hEvent CreateEvent NULL false fa
  • 为 COM 互操作注册、gac 程序集时顺序重要吗?

    在为 COM Interop 注册 NET 程序集时 我做了两件事 目前按以下顺序进行 regasm tlb MyDll tlb Mydll dll gacutil i Mydll dll I use regasm为 COM 注册类型库并g
  • Java 客户端与具有相互证书的 WCF 服务互操作 - 无法解析用于验证签名的 KeyInfo

    例外 MessageSecurityException 无法解析用于验证签名的 KeyInfo KeyInfo SecurityKeyIdentifier 我必须设置一个 WCF 服务来接收来自 Java 客户端的 SOAP 调用 该客户端
  • “班级未注册”是哪个班级?

    考虑这段代码 try ISomeObject pObj uuidof SomeClass ISomeObject pObj2 uuidof SomeOtherClass catch com error e Log what failed I
  • Java、Jacob 和 Microsoft Outlook 事件:收到“找不到事件 iid”错误

    我正在编写一个 Java 程序 它使用雅各布图书馆 http danadler com jacob 桥接 COM 和 Java 该程序创建了一个新的MailItem http msdn microsoft com en us library
  • 动态加载组件 - 设置和通信

    好吧 我有一个 WPF 应用程序 我们称之为Launcher exe 它加载并执行另一个 WPF 应用程序 我们称之为Loaded exe 动态地使用这样的东西 Byte assemblyData using BinaryReader re
  • 是否可以在 .Net Windows 表单内托管 Microsoft Access 表单?

    我问是否可以在 Net 表单中托管 Microsoft Access 表单 不 我没有发疯 我们正在维护一个完全用 VBA 编写的庞大系统 由一个不太了解 VBA 的人尝试使用 Microsoft Access 作为 IDE 它基本上是数千
  • XPCOM是什么? XPCOM 与 COM?

    我无法理解 XPCOM 它与 COM 有什么不同 是什么让它跨平台 它是一个包含一组可用于完成某些工作的库的框架吗 另外 组件对象模型是否意味着每个功能都在组件中实现 因此我们可以在不知道详细实现的情况下使用它 你能帮我理解这一点吗 谢谢
  • 免注册 COM - COM dll 相对于客户端 exe 的位置

    我想使用免注册 com 这样我就不必注册我的旧 com 组件 但是 我希望能够将 com dll 放在不在客户端 exe 目录中或之下的位置 例如 lib 我无法在服务器清单文件中执行此操作 因为它不允许相对或绝对路径 有谁知道是否有办法解
  • 将 C++ 字符串发送到 C# 字符串。互操作性

    我是进程间通信的新手 需要一些帮助 我希望能够将字符串从 C 程序发送到 C 程序 我的问题是生成的字符串是乱码 这是我的代码 发送程序 C void transmitState char myStr HWND hWnd FindWindo
  • WCF 回调:它可以与 Java 互操作吗?

    目前 我以 正常 方式实现所有 Web 服务 也就是说 我在 Eclipse 中创建一个 WSDL 文件 然后使用 WSCF blue 一个 Visual Studio 扩展 自动生成必要的代码 它是回复 请求 不过 我希望改用回调 这样我
  • Python 仪器驱动程序

    我是一名实验物理学家 并且是Python http en wikipedia org wiki Python 28programming language 29 我发现它非常适合数据分析和脚本编写 实际上我还用它来连接实验室仪器 网络分析仪
  • 我可以将一个 WPF 窗口叠加在另一个窗口之上吗?

    我有一个 WPF 窗口 其中包含一个WindowsFormsHost元素 我需要在这个元素之上绘制东西 但是它的本质WindowsFormsHost意味着它始终位于绘图堆的顶部 因为我无法在同一 WPF 窗口中绘制WindowsFormsH
  • 调试错误:在 vc++ 项目中使用 COM 时发生 所需的运行时?

    我为我的工作创建了一个 COM 组件 我也注册了该组件 在我的系统上 我有两个虚拟机工作站 在我的第一个工作站中 它运行良好 在我的第二个工作站中 它显示一个包含消息的错误框该程序需要一段时间并以不寻常的方式关闭 请联系应用程序管理员 我认
  • 如何打开实际上已关闭的 Wifi 适配器的无线电?

    我在用着托管无线网络 http managedwifi codeplex com获取我的 Wifi 适配器的无线电状态 如果收音机实际上已关闭 如何将其打开 像这样的东西 WlanClient wlanClient new WlanClie
  • 从 C# 访问 OCX 库时出现“灾难性故障”

    我目前正在尝试使用我的 C 应用程序中的第三方 DLL 我已经注册了 DLL 并将其添加为 COM 组件列表中的引用 据我了解 这应该创建必要的互操作类来从 C 访问此 DLL 在尝试从 DLL 中调用任何方法时 我收到以下异常 Syste

随机推荐

  • 如何在asp.net中实现文件下载

    使用 asp net 2 0 从网页实现下载操作的最佳方法是什么 操作的日志文件在名为 Application Root Logs 的目录中创建 我有完整路径并想提供一个按钮 单击该按钮会将日志文件从 IIS 服务器下载到用户本地电脑 这有
  • 购物车表如何与另一个表关联?

    我有表 table name id cart token data created at Updated at 想要使用令牌列 table name cart token cart token 与商店购物车表关联 只要购物车表没有 Cart
  • mysql 自然排序

    我有像这样的桌子server id name ip 当我尝试按名称对结果进行排序时 我得到 srv1 srv10 srv11 srv2 srv6 但我需要像这样的结果srv1 srv2 srv6 srv10 srv11 我知道的一个想法是
  • ORA-01855: 上午/上午或下午/下午必需的

    我收到错误 ORA 01855 AM A M or PM P M required 当我尝试执行以下查询时 INSERT INTO TBL ID START DATE values 123 TO DATE 3 13 2012 9 22 00
  • 半径/最近结果 - Google 地图 API

    首先 我使用 Google Maps API v3 我有一张大地图 显示从数据库中提取的所有结果 现在我想实现一个功能 显示距当前位置 X 公里内最近结果的半径 由 HTML5 地理定位提供 由于地图包含所有结果 我希望能够添加X公里 然后
  • 在 linq 中使用 ANY 条件处理 WHERE 内的空值

    我的问题是 db 对象可以有空描述 ofc linq 将抛出空异常 我用它来搜索描述和标题 这是代码 string searchQry searchString Split searchQry searchQry Select sq gt
  • 相机拍摄的照片上传异常(Firebase 存储)

    我正在尝试将 Android 应用程序中相机拍摄的图像上传到 Firebase 存储 问题是我拍照后在确认activity 我按下确认按钮 它显示 不幸的是 应用程序已停止 这是当我按下检查按钮时的图像 应用程序崩溃了 这是我的代码 应用程
  • 使用 jQuery 选择一个选项?

  • 将 ViewData\ModelState 导出到子操作

    正如题主所说 这是一个坏主意吗 如果是这样 为什么 目前 如果您从 Html Acion 内部渲染某些输入字段 则不会向用户显示验证错误 因为当涉及 Html Action 时 在其上下文中 ModelState 会被清除 那么最好的模式是
  • 将值和标签设置为 JComboBox

    我有一个 JComboBox 其中的项目是查询的结果 该组合显示了从查询中获取的所有类别名称 对吧 好的 它有效 现在我需要给每个项目一个值 这将是产品的 ID 这是我到目前为止所得到的 final JComboBox proveedorC
  • asp.net特殊标签之间的区别

    我现在正在开发应用程序的前端部分 我想到了一个问题 asp net特殊标签有什么区别 如果存在其他特殊标签 请描述其功能
  • Inno Setup Exec 不等待 InstallShield 卸载完成

    尝试使用卸载字符串卸载软件 并使用Exec in InitializeSetup 在安装之前 它不会等待卸载完成 而是继续在 Inno Setup 中进行下一步安装 我正在使用以下代码和我尝试在 Installshield 产品中卸载的软件
  • 如何以编程方式使用图像添加栏按钮

    我正在以编程方式创建一个栏按钮 但它无法固定到屏幕上 帮助我解决这个问题 截屏 UIImage image UIImage imageNamed request png UIBarButtonItem button2 button2 set
  • DateTime.Now.Ticks 在循环内重复

    我正在尝试为表的主键生成唯一 ID 并且我正在使用DateTime Now Ticks为了它 这是目前我们无法使用的要求Identity 但有时 在循环内 它会在连续迭代中生成相同的 ID 我的简化代码如下所示 While Incoming
  • 在自定义元素的 :host 声明中使用 CSS 计数器重置

    运行代码片段 我希望我的 DIV 编号显示从0 所以我想使用以下命令从 1 开始计数器 counter reset square 1 然而 在使用时此设置将被忽略 host counter reset当所有 DIV 都包含在额外的父 DIV
  • 在 R1C1 公式中使用列标题变量

    我正在尝试 让谷歌脚本执行一个函数 在本示例中基于 F 列将公式 我认为使用 R1C1 插入到 G 列中 并在公式中使用变量作为列引用 公式为 NETWORKDAYS 我想确保我的函数搜索列标题名称而不是数字 以防列被移动 插入 G 列的公
  • 如何在VBA中添加命令按钮?

    我正在尝试向 Excel 工作簿添加一个按钮 以便它显示在每个工作表中 对我最初问题的一个很好的回答给了我一个宏来在每张纸上创建按钮 Sub AddButtons Dim ws As Excel Worksheet Dim btn As B
  • Angular JS:检测 ng-bind-html 是否完成加载,然后突出显示代码语法

    我在用ng bind html用于绑定我从数据库获取的数据 p p app controller customersCtrl function scope http stateParams console log stateParams i
  • 来自 PHP 的电子邮件已破坏主题标头编码

    我的 PHP 脚本向用户发送电子邮件 当电子邮件到达他们的邮箱时 主题行 subject 有这样的字符a 添加到我的主题文本的末尾 这显然是和编码问题有关 电子邮件内容本身很好 只是主题行被破坏了 我到处寻找但找不到如何正确编码我的主题 这
  • 无法使用 System.IO.Packaging 确定域的标识

    通过 COM Interop 使用 System IO Packaging 时 我收到 无法确定域的身份 有几篇文章描述了为什么会发生这种情况 解决方案是在其自己的 AppDomain 中运行有问题的函数 所以我采取了示例代码 如下所示 但