问题标签 [mixed-mode]

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.

0 投票
3 回答
3864 浏览

.net - 在 C++/CLI 中动态加载 EXE 程序集时发生异常(无法加载文件或程序集,版本 = 1.0.3836.39802 ...)

在动态加载程序集时,我在 C++/CLI 中遇到异常,该程序集本身在 C++/CLI 托管模式下使用Assembly.Load. 它成功加载了 DLL 程序集,但无法加载 EXE 程序集并生成以下异常:

TestManager.dll 中发生了“System.IO.FileLoadException”类型的未处理异常

无法加载文件或程序集“testAssembly,Version=1.0.3836.39802,Culture=neutral,PublicKeyToken=null”或其依赖项之一。尝试使用 fixups 加载无法验证的可执行文件(IAT 具有超过 2 个部分或 TLS 部分。)

HRESULT 异常:0x80131019

TestManager.dll 本身是一个托管 dll,并在 CLI 中加载到另一个 CLR 进程中,并尝试将 EXE 程序集作为单独的进程加载,但失败并生成异常。

这可能是由于玩混合模式。

0 投票
7 回答
52718 浏览

.net - .NET 4 中的混合模式程序集

大约 2 年前,我在 .NET 2.0 中编写了一个用于数据库访问的类库,并且一直在 .NET 2.0、3.0 和 3.5 上使用它。

在我正在处理的当前项目(这是一个 .NET 4.0 应用程序)中,尝试使用旧的忠实类库,但出现以下异常:



可能出了什么问题,我该如何解决?

0 投票
1 回答
1678 浏览

visual-studio-2008 - 如何在我的 c++/cli 项目上启用智能感知?

我正在使用 Visual Studio 2008,并且我有一个加载托管 c++ dll 的本机 c++ 项目,但在最后一个项目中,智能感知不再适用于托管代码。

这个项目(dll)有一个混合代码(本机和托管),如果我在一个干净的行上只写“::”,智能感知会给我从基类继承的方法,比如常规,而不是托管代码,对于例子

我需要帮助,否则我将不得不失明。

0 投票
2 回答
5165 浏览

asp.net - 针对 AD 的混合模式身份验证,如果成员资格提供程序失败,则回退到数据库

我的用户将对 Active Directory 或数据库使用表单身份验证。那里没有 Windows 集成身份验证!

我想要的是当用户提交身份验证表单时,它将尝试针对 Active Directory 验证用户,如果失败,请尝试使用数据库。

我怎样才能做到这一点?我的想法是构建一个自定义会员提供程序,它将封装逻辑,但我不知道如何开始。

有更好的主意吗?

0 投票
1 回答
853 浏览

.net - 使用混合模式程序集以 .net 框架 3.5 和 4.0 为目标

我有一个使用 vc 9.0 运行时以 .net 3.5 为目标的混合模式程序集。我确实不支持.net 4.0,但仍然与旧框架兼容(该库应该适用于 4.0 和 3.5 进程)。

如果我更新到 .net 4.0,我必须使用 vc 10.0 运行时。但是,从这个运行时开始,我不能再针对旧的 .net 框架了。

目前,我没有看到如何使用 vc 10 运行时从混合模式程序集中支持较旧的 .net 框架。有谁知道如何做到这一点?

亲切的问候

0 投票
1 回答
3430 浏览

visual-c++ - 混合模式程序集未加载本机 C++ pdb 的符号

我正在使用 C++/CLI 中的混合模式程序集。所有托管模式组装的 pdb 在混合模式组装成功时都会被加载,但本地 dll 和 pdb 不会被加载,即使本地 pdb 的信息显示在模块窗格中(即在 VS 调试->Windows->模块中)。

我正在使用本机 dll 并在 C++/CLI 代码的混合程序集中调用其导出的函数。在这里,函数被成功调用,但是本地 pdb 符号没有加载,本地代码中的所有断点都显示为空心圆圈,工具提示说没有为此加载任何符号。

我已经完成了所有工作,将 pdb 放置在托管进程启动的当前目录中;删除所有 obj 和 debug 文件夹并同时重新编译每个项目;我什至使用了 ChkMatch 实用程序,它显示 Exe 中的符号和相应的 pdb 匹配。

从托管(C++/LCI 混合模式)代码调用时,有什么方法可以启用本机代码的断点?

问候,

乌斯曼

0 投票
6 回答
2124 浏览

.net - 从 C++/CLI 调用 C++ 代码时如何执行编组?

根据这个问题,可以使用 C++/CLI无缝组合托管和非托管代码。我不太明白 - 托管和非托管之间不应该有编组吗?

例如,我有一个 InnerLibrary,它被编译为本机 C++ .dll,并发布了一个标头,以及从 InnerLibrary 调用代码的 C++/CLI OuterLibrary。会有编组吗?谁来实施它,成本有多大?

0 投票
1 回答
446 浏览

c++ - 全局变量在主线程中没有被破坏?

我有一个混合模式的可执行文件,我注意到我的本地全局变量的构造函数在主线程中被调用,而析构函数在其他线程中被调用。
线程的名称是'Thread::intermediateThreadProc'。

这是什么原因?这个'Thread::intermediateThreadProc'线程是什么?

谢谢。

0 投票
3 回答
428 浏览

.net - 如何识别程序集加载到哪个框架中?

一位用户向我们报告说,安装 .NET 4 后可以解决我们应用程序中的一些奇怪行为:

我不知道如果您没有指定程序集,它可能会加载到更高但兼容的版本中。

是否可以识别可执行文件正在执行的框架?在运行时?还是通过一些外部过程?我想确认是这种情况,用户体验不是其他问题的结果。


Process Explorer 说 EVEMon 在 2.0 下运行,我倾向于怀疑问题是环境问题:

进程浏览器

0 投票
1 回答
965 浏览

assembly - 为什么 C++/CLI 中的内联 asm 会产生可怕的问题?

我在 C++/CLI 中使用内联 asm。可怕的问题实际上可能是我观察到的错误。我将向量从一个函数调用传递给另一个。如果我在被调用函数中注释 _asm{....some assembly code here} 的整个代码片段,其中使用了从其他函数提供给它的向量,那么没有问题整个向量会很好并成功复制到被调用函数的参数以正确的方式。

但是如果取消 _asm{} 我的意思是如果我在被调用函数中使用 _asm{} 补丁,它会破坏对象的整个向量,事实上整个对象会破坏,其中包含向量和其他字符串数据,它只显示对象内部的每个数据,例如 npos=4294967295 .

它是什么?为什么会这样?是 CLI 造成问题还是我使用内联 asm 的方式错误?

请帮帮我,因为我被困在这里。

在这里,如果我在 _asm{} 内根本没有写任何东西,那么就会出现我描述的问题。

问候乌斯曼