【发布时间】:2009-10-06 19:19:47
【问题描述】:
我有一个用 C++/CLI 编写的项目。有些类型存在于托管代码中,有些则完全是本机代码。假设我在没有安装任何版本的 .Net 框架的机器上生成了 DLL,有没有办法让另一个本机应用程序与我的“混合模式”DLL 链接并仅使用本机类型?我注意到,在我添加“/clr”开关的那一刻,我的 Dll 自动依赖于几个 .Net Framework Dll(mscorjit、mscoree 等),当我实际尝试使用其中定义的 100% 本机类型时,应用程序仍会尝试加载那些 .Net Framework Dll(即使我没有在代码的那部分使用框架)。
那么,在这种情况下是否可以避免加载这些 Dll? (如我所见,另一种选择是创建另一个原生项目,该项目将包含所有原生类型,但不包含托管类型)。
谢谢
【问题讨论】:
标签: interop c++-cli unmanaged managed