我在一个现有的ASP.NET MVC项目上工作。该解决方案使用FluentNHibernate组件(v 1.0.0)。
前团队中的某个人(解决方案是MVC2)对此进行了修改(以更改行为)。修改和编译的dll包含在MVC解决方案中。
现在,我将解决方案转换为MVC 5,并通过NuGet软件包更新了现有的库。不幸的是,我对FluentNHibernate组件无法做到这一点,因为如果更新它,它将失去修改后的行为,并且如果使用新版本,则会产生错误。
修改后的组件的源不可用。我能做些什么?
我决定从gitHub获得FluentNHibernate版本1.0.0,比较项目文件,记下差异,并将其包含在实际(v 1.4.0.0)FluentNHibernate代码中。
为了比较差异,我需要从(修改后的)dll中获取原始代码。
是否有加载项或其他可以将dll转换为项目的项目?
我知道(并且使用)RedGate的Reflector,但是我想从dll中获取所有必要的c#文件,而不仅仅是查看类定义代码。
如果您的dll是用.NET语言(C#/ Vb.NET)创建的,则可以使用某些工具(例如JetBrains dotPeek或Telerik JustDecompile)进行反编译。这些工具可以通过dll(或exe)制作所有C#文件和项目文件。
请注意,如果您的dll / exe被混淆了,结果代码将几乎不可读(您将不得不使用重命名)。
在dotPeek和JustDecompile中,右键单击已加载的dll,然后选择“创建项目”(或“导出到项目”)。您将获得所有C#文件(或vb.net)和项目文件。
在某些情况下,这些工具之一将无法反编译。您可以测试其他工具,它可以工作...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句