C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了是否可以确定.NET程序集是以哪种语言编写的?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是一种找到C/C++LI和Managed C程序集的方法,以便可以测试它们内部的所有类,以确保所有继承的方法都被重新实现.我想将其添加为构建流程步骤,以确保它不会再发生.

想到这个问题也让我有点好奇,因为能够确定所使用的任何.NET语言将是有趣的.因此,我进一步比较了所有.NET语言的程序集.到目前为止,这是通过我写的一个小程序发现的,它通过反射来比较来自任何一组.NET程序集的类型和属性数据:

> C# – 具有AssemblyConfigurationAttribute,具有GuidAttribute
> VB – 有很多额外的“我的”类型(例如MyApplication,MySetTings),有GuidAttibute
> F# – 有一个FSharpInterfaceDataVersionAttribute,它还指定使用的编译器的版本.
> C(all / clr:safE) – 有一堆额外的类型(FrameInfo,type_info)
> C / clr:safe – 似乎没有独特的反射功能.

按照这个顺序解析可能是合理的:

>如果它有FSharpInterfaceDataVersionAttribute,它是F#
>如果它有任何在我发现的巨大的额外类型中是C.
>它是VB,如果它有“我的*”类型.
>它是C#如果它有AssemblyConfigurationAttribute或GuidAttribute
>可能是C/C++lr:安全

然而,由于这是一个可怕的黑客,我想在这里检查,以确保没有其他选项可用.

解决方法

检查VB或F#类库中的引用似乎是最不爽的方法,但是如其他人所说,它是一个启发式的 – 就像没有明确的方法来告诉本地二进制文件写入哪种语言(但是你可以通过启发式几乎100%肯定)

大佬总结

以上是大佬教程为你收集整理的是否可以确定.NET程序集是以哪种语言编写的?全部内容,希望文章能够帮你解决是否可以确定.NET程序集是以哪种语言编写的?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。