问题标签 [clr-hosting]

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 回答
749 浏览

.net - 是否可以在同一进程中加载​​两个版本的 .NET 运行时?

我需要澄清两种情况:

  1. 使用 .NET 3.5 编译的可执行文件需要使用使用 .NET 1.1 编译的库,并且该库必须在 1.1 运行时上运行。

  2. 使用 .NET 1.1 编译的可执行文件需要使用使用 .NET 3.5 编译的库。

我找不到可靠的消息来源说明无法加载两个版本的 .NET 运行时,并且 Microsoft 的文档在此问题上非常含糊。

0 投票
1 回答
1253 浏览

c++ - 托管 CLR - 参数错误

我正在尝试在我的 C++ 应用程序中托管 CLR,但在调用托管应用程序的入口点时遇到问题。入口点像往常一样定义:

这是实际的 C++ 代码:

我得到的错误代码是-2146233032,根据corerror.h对应于:

对于十进制 -2146233032 / 十六进制 0x80131538:
COR_E_SAFEARRAYRANKMISMATCH
数组的运行时排名与元数据中记录的排名之间发生不匹配。

任何人都可以看到问题吗?

0 投票
1 回答
533 浏览

.net - 在 SQL Server CLR 中托管 .NET 方法

我被要求在 SQL Server 2005 中创建一个函数,它是我在 .NET 3.5 中创建的 CLR 托管函数。SQL 中托管的 CLR 函数是否可以访问 App.Config 文件,或者是否所有配置选项都需要作为参数传递?

0 投票
2 回答
6187 浏览

c# - Excel VSTO 如何工作?

Excel VSTO 如何工作?如果我在 Visual Studio 2005 中创建 Excel 工作簿解决方案,我就可以愉快地编写代码并完全访问 Excel 对象模型,甚至可以将 Excel 工作表视为设计图面。当我构建解决方案时,我得到一个.XLS文件和一个.DLL(包含我的 C# 代码)。

我现在可以通过双击来启动 Excel 工作表,.XLS并且我的工作表可以使用我的所有 C# 代码和我放在工作表上的任何控件等运行。

工作表是如何引用的.DLL?excel 工作簿/工作表的哪一部分告诉它需要启动 CLR 并托管我的程序集?

0 投票
1 回答
537 浏览

.net - 通过 C++ dll 调用时如何拆分 Dot Net Hosting 功能

我正在探索从非托管 C++ 代码调用 .net 方法,并在如何将托管 .NET 程序集 (DLL) 注入另一个进程中找到了以下函数

在控制台应用程序中调用一次时,这没有问题。

我现在想将此函数拆分为在 dll 中使用,逻辑上这应该分为三个部分

为了实现这一点,我如何以及在哪里声明 ICLRRuntimeHost pClrHost/HRESULT hr?

0 投票
2 回答
2059 浏览

.net - 将 CLR 主机注入正在运行的进程中 - 可能吗?

我知道,这条路很疯狂。

我有一个我想通过 .NET 扩展的可执行文件(我无权访问的源代码)。它是本机可执行文件,因此我需要注入 CLR 主机才能执行此操作。我的基本想法是通过 .NET 语言(例如 C#)提供类似脚本的功能,并在目标可执行文件中提供挂钩以供脚本操作,反之亦然。

我知道我需要使用各种技术来实现这一点 - DLL 注入、一些运行时 ASM 注入等,但我想知道的是:我所说的可能吗?更好的是 - 以前有人做过这样的事情吗?

0 投票
1 回答
4527 浏览

c - 是否可以在 C 程序中托管 CLR?

我能找到的每个示例都是用 C++ 编写的,但我试图将我的项目保留在 C 中。甚至可以在 C 程序中托管 CLR 吗?

如果是这样,你能给我举个例子吗?

0 投票
2 回答
3966 浏览

c - 错误 C2440:“函数”:无法从“const IID”转换为“DWORD”

在尝试托管 CLR 时,我不断收到以下信息:

错误 C2440:“函数”:无法从“const IID”转换为“DWORD”

我的代码:

顺便说一句,这是在 C 中。不是 C++。

编辑:当我用 C++ 编译它时,它工作得很好。它在两种语言中的行为不应该相同吗?

0 投票
2 回答
264 浏览

.net - 是否可以重新加载 CLR?

我正在摆弄一个 CLR 托管在 C 应用程序中的项目。是否有支持的方式来取消 CLR 的链接并重新启动它?

0 投票
1 回答
101 浏览

clr - E_CLR_ALREADY_STARTED 的值是什么/在哪里?

ICLRRuntimeHost::SetHostControl的文档声称它可以返回 E_CLR_ALREADY_STARTED。我一直找不到这个值的定义。理想情况下,我想知道要包含的适当标头是什么(它似乎不在 corerror.h 中),但如果有人也可以为我提供规范值,我也可以接受。

谢谢