C++ Windows窗体应用程序是否需要.NET Framework?

Kri*_*oks 1 forms windows frameworks c++-cli

C++ Windows窗体应用程序是否需要.NET Framework?

它似乎是因为它导入了"System :: Forms",但我只想100%肯定.我尝试用依赖打开它,看起来它导入了通常的C++ dll,但是没有任何关于框架的东西.

Bri*_*ndy 6

Windows窗体是.NET Framework的一部分,所以是的.

如果您不希望.NET框架作为依赖项,则需要使用本机Win32 API或MFC.你也可以使用像Trolltech的Qt这样的第三方库.

Dependency Walker有一个很好的FAQ,涵盖了为什么:

Dependency Walker是否可以使用COM,Visual Basic或.NET模块?

是.无论使用何种语言开发,Dependency Walker都可以与任何32位或64位Windows模块配合使用.但是,许多语言都有自己的方式来指定模块之间的依赖关系.例如,COM模块可能在注册表中具有嵌入式类型库和注册信息,.NET模块可能使用.NET程序集.这些技术都是作为核心Windows API之上的层实现的.最后,这些层仍然需要调用LoadLibrary和GetProcAddress等核心Windows函数来完成实际工作.正是在这个核心层面,Dependency Walker才能理解正在发生的事情.因此,虽然Dependency Walker可能无法理解应用程序的所有语言特定复杂性,但它仍然能够在核心Windows API级别跟踪所有模块活动.