【问题标题】:Is there any way to identify a VC++ Projects using Dot Net or not?有没有办法使用 Dot Net 来识别 VC++ 项目?
【发布时间】:2013-05-31 05:31:02
【问题描述】:

我有几个 VC++ 项目及其输出为 dll 或 exe。我需要确定哪些 dll/exe 或哪些 VCProjects 正在使用 Dot Net?这意味着我想知道任何 VC 项目正在使用托管代码吗?

我知道一种方法是 /clr 开关用于使用 Dot net 的 vcprojects。没有 /clr 开关的 VCProjects 是否有机会使用 Dot Net?

【问题讨论】:

  • 您可以尝试在Reflector中打开输出DLL或EXE,它会告诉您文件是否包含托管代码。
  • @Dai:反光板在哪里可以买到?

标签: .net visual-c++ clr


【解决方案1】:

是的 - 即使项目没有使用 \clr 开关创建 .NET 程序集,它仍然有可能使用 .NET。

  1. 非托管 DLL 或 EXE 可以使用作为 COM 对象公开的 .NET 程序集 - see MSDN here
  2. 非托管 EXE 可以托管 Windows 窗体 - see MSDN here

第二种情况实际上是第一种情况的一个特殊例子——两者都使用 COM 作为互操作机制。

【讨论】:

  • 基本上我需要识别这些项目以遵循通用的方式来更改组装版本..这2个类别的项目是否需要组装版本?
  • @RajeshSubramanian - 不,这些类别是没有 .NET 程序集信息的本机(非托管)模块。只要您在任何 .NET COM 项目上维护程序集版本,就可以忽略这些情况。
猜你喜欢
  • 1970-01-01
  • 2017-10-25
  • 1970-01-01
  • 1970-01-01
  • 2021-05-22
  • 1970-01-01
  • 1970-01-01
  • 2018-01-05
  • 1970-01-01
相关资源
最近更新 更多