c# - 在 C++ 应用程序中执行作为资源嵌入的 C# exe
问题描述
我有一个用 C++ ( c++App.exe
) 构建的 Windows 应用程序,以及一个用 C# ( ) 构建的 .NET Windows 应用程序c#App.exe
。
我将c#App.exe
作为资源嵌入到c++App.exe
.
当我运行时c++App.exe
,我会执行一些检查,如果它们都通过了,我想将c#App.exe
嵌入的资源作为资源执行。
到目前为止我已经尝试过:
- 提取
csharpApp.exe
到一个临时文件,并通过执行它CreateProcess
- 在我的 C++ 应用程序中托管.NET CLR,并将 C# 程序集加载到 AppDomain 中,并
Program.Main
通过反射调用该函数
除了我尝试过的方法之外,还有其他选择吗?我想要的是能够c#App.exe
直接调用 from c++App.exe
,而无需写入磁盘,也无需将 .NET 公共语言运行时加载到我的 C++ 应用程序中。
有没有像CreateProcessFromBytes
我可以传递对我的c#App.exe
嵌入式资源的引用的地方,它的入口点像普通的可执行文件一样被调用(然后入口点负责加载 CLR 等......)?
- 我知道我不能使用 ILMerge,因为它是 C++
- 我不想使用任何设置类型的应用程序,例如 MSI / NSIS、WiX 等。我想自己以编程方式做所有事情
- 我不想使用任何自解压打包程序,如 7-zip 或 WinZip 等。我想自己以编程方式做所有事情
解决方案
推荐阅读
- typescript - 打字稿:如何从可能是也可能不是数组元素的泛型中推断类型
- r - 如何有选择地从数据框中的元素中删除字符?
- volttron - 如何在 Volttron-GS 中设置 ILC 代理?
- file - Applescript 选择文件夹中的最后一个文件(按名称升序列出)
- c# - 如何在 confuserex 中使用密码混淆符号名称?
- powershell - 管道中的具体类型输出变量无效的 JObject
- css - 如何使每个徽标在视觉上都具有相同的大小?
- javascript - 模拟路由器模块笑话
- python - 如果需要进行矩阵乘法,如何避免循环?
- python - 模块语法高亮