我有主要用C++开发的本机windows应用程序。我想把一些C# / UI组件放在应用程序的上面。但是主要应用程序的启动和调试相当繁重,我希望C#对应用程序礼貌一些,并且可以在不关闭本地应用程序的情况下尽可能长时间开发UI。
在C++中总是有LoadLibrary和FreeLibrary,所以开发人员可以在开发他的组件时发布.dll,在C#中,一旦加载了程序集,几乎不可能发布它。您正在处理大量关于AppDomains的文档,等等。
一旦C#程序集加载到尽可能少的源代码行,有人能提出一种发布它的方法吗?
现在,我将简要地总结一下我对主题的了解:
C++程序集不可能在没有IAT表的情况下构建--至少在这里,有人提到了建议的解决方案:
how to build an executable without import table in c/c++?
但这看上去并不是可行的解决方案。
发布于 2022-10-12 20:17:06
嗯..。6年后,我找到了这样做的解决方案:
https://github.com/tapika/dllloader
将C++/cli .dll加载到内存中--然后也不需要释放它。
这至少适用于.net 4.8 framework。对于.net core,可以释放c++/cli dll,但尚未深入分析。
https://stackoverflow.com/questions/40293194
复制相似问题