问题标签 [activation-context-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - LoadLibraryEx 忽略并排清单
函数是否LoadLibraryEx
使用并排清单?我有带有嵌入式 SxS 清单的 bar.dll,并且该清单描述了此 bar.dll 的版本,其他 dll 文件 foo.dll 具有将 bar.dll 列为依赖项的清单,并具有指定的版本。但是,当我尝试从 foo.dll 加载 bar.dll 时,LoadLibraryEx("bar.dll", NULL, 0)
我看到(启用了带有 gflags 的 sls)它忽略了这些清单,并加载它在搜索路径中看到的 bar.dll 的第一个版本,如果我定义ISOLATION_AWARE_ENABLED
并使用LoadLibrary
它发现正确的版本,但这ISOLATION_AWARE_ENABLED
不会影响 的行为LoadLibraryEx
,我需要加载正确的版本,LoadLibraryEx
因为LoadLibraryEx
隐式用于延迟加载 dll。应该像这样LoadLibraryEx
工作,还是我的项目配置有问题?
富dll
bar.dll
c++ - SxS 清单中的程序集标识名称
我有两个关于激活上下文 API 和 SxS 清单的问题。它们看起来很简单,但我仍然无法为它们找到任何好的答案。
我有两个文件名为 foo.dll 和 bar.dll 的 dll 库,它们都带有嵌入式清单,foo 取决于 bar。有没有办法为这两个分配文件名以外的 assemblyIdentity 名称?例如,如果我希望 bar.dll 的程序集标识为CompanyName.Subsection.bar
?如果我像这样更改它的身份-尝试加载 foo.dll 时出现错误"Dependent Assembly CompanyName.Subsection.bar,type="win32",version="0.1.2.3" could not be found"
。当然,如果我将名称程序集标识指定为文件名 ( <assemblyIdentity name="bar"
),一切正常,但有没有办法使用这些带点的名称?
foo.dll
bar.dll
.net - 从 Java 应用程序中的非托管本机 C++ 库加载未注册的 .NET 程序集
我正在使用一个 Java 应用程序,该应用程序可以使用可能包含本机代码的自定义包进行扩展,因此除了添加扩展 jar 的能力之外,我无法控制 Java 环境。
在这种情况下,我需要能够从 Java 扩展调用 C# 代码。这是以前使用无注册 COM 从纯本机上下文中使用的 C# 代码 - 工作正常。现在我需要能够从这个 Java 上下文中使用相同的代码,但遇到了似乎无法控制应该在哪里找到 DLL 的问题。要求将 DLL 安装到 JRE/JDK bin 目录中显然不是一种选择,并且要求将 DLL 注册到 GAC 中也不理想。
目前我希望将所有 DLL 依赖项打包到扩展 jar 中,并在运行时需要时加载(无需手动安装步骤)。
我希望我可以使用 Activation Context API 来使其正常工作,并测试了此代码的许多变体,DLL 位于D:\somepath\:
清单包含一个dependentAssembly,其中包含程序集的详细信息,其中包含对CoCreateInstance的调用引用的 C# 类。
还尝试了使用 mt.exe 从 DLL 转储的这种格式的清单:
CreateActCtx和ActivateActCtx调用成功,但CoCreateInstance调用总是失败,返回 0x80070002,除非我将 DLL 放在C:\Program Files\Java...
是否有任何解决方案(除了使用 GAC)允许完全非托管的 C++ DLL 从任意已知位置的 DLL 加载和创建 C# 类的实例?
windows - 如何指定使用已加载的并行程序集的哪个实例
我正在创建一个 dll ( A.dll
),它是隔离的 ( ISOLATION_AWARE_ENABLED
),依赖于dependency.dll
并具有一个清单文件:
A.dll
由应用程序加载,该应用程序app.exe
本身依赖于不同版本的dependency.dll
. 清单确保dependency.dll
并排使用两个版本。到目前为止没有问题。
现在,A.dll
通过. 从外部目录加载,取决于并且实际上需要使用已在内存中使用的版本。B.dll
LoadLibrary
B.dll
dependency.dll
dependency.dll
A.dll
问题是使用了byB.dll
的版本,因为这是已加载到内存中的具有该名称的模块的第一个版本。dependency.dll
app.exe
有没有办法强制B.dll
使用dependency.dll
已加载的版本A.dll
?
语言是 C++,如果相关的话。
delphi - DeactivateActCtx 在 Delphi Excel COM 加载项中引发错误
我正在使用 Delphi 和 Add-in Express VCL 开发 Excel COM 插件。为了在我的表单中启用主题,我使用了清单和激活上下文,正如 David Heffernan 在此处的回答中所写:
将 Windows 主题应用到 Office Com 加载项
根据链接的帖子,这是我的代码:
消息对话框正确显示(主题!)但是当调用 ActivationContext.Free 时(调用DeactivateActCtx(0, FCookie);
)我得到以下异常:
EExternalException:外部异常 C000000D
请注意,出于演示目的,我在上面的代码中插入了 ShowMessage,通常我正在创建并显示具有相同结果的表单(错误)。
我怎样才能解决这个问题?
更新:这是有问题的清单:
我的资源文件:
包含 res 文件的代码:
AddinName 与 Delphi 项目的名称匹配是否重要?
还有一点需要注意:插件是为64 位 Excel 编译的。
reactjs - 在 React Native 挂钩中动态更新上下文
我正在尝试使用上下文 API 更新我的 react 本机应用程序的主题,但它抛出错误 setThemeMode is not a function。(在'setThemeMode(themeMode ==='light'?'dark':'light')'中,'setThemeMode'是“i”)
我参考了以下博客文章 https://www.smashingmagazine.com/2020/01/introduction-react-context-api/
ThemeContext.js
应用程序.js
设置.js
导航.js
颜色.js
我想动态更新上下文。请原谅我这么愚蠢的错误,但我是新来的反应和 Js。我附上了问题图片。我认为我在useContext上做错了,因为当我尝试使用console.log(ThemeContext)时,它显示的是未定义而不是光。
javascript - using Context Api how to set initial state
I am fetching data from http://127.0.0.1:8000/api/todos receiving array using app level state how should i populate the initial state in Context API ?
windows - Pyzo 未在 Windows 11 上启动
我的新电脑有问题。我刚刚得到它,使用 Windows 11 并安装 Pyzo(使用 Anaconda),当我启动 Pyzo 时,它是这样写的:
“应用程序无法启动,因为并排配置不正确 Windows 10”
当我检查事件查看器时,错误是
为“C:\Program Files\pyzo\pyzo.exe”创建激活上下文失败。清单或策略文件“C:\Program Files\pyzo\pyzo.exe”在第 15 行出错。应用程序元素显示为 urn 的子项:schemas-microsoft-com:asm.v1 element ^dependentAssembly; 此版本的 Windows 不支持这种情况。
一些想法来解决它?
谢谢
朱尔斯