用于确定.NET程序集框架依赖项的工具

时间:2010-07-14 21:45:53

标签: .net frameworks compatibility portability base-class-library

我正在寻找一种可以告诉我.NET程序集将在哪些框架下工作的工具。或者更具体地说,BCL(基类库)对其中的方法进行版本化需要。

引发我的是: 今天我得到了一个针对我们正在制作的应用程序的错误报告,基本上说:“你正在使用WaitOne(Int32),但这只适用于.NET 3.5 SP1,而不是3.5;使用WaitOne(Int32,布尔)代替” 。事实上,用户是对的。 WaitOne已经永远存在于.NET中,但是在1.0,2.0等服务包中引入了仅占用int的特定重载。因此,我们的应用程序将失败,例如一个普通的3.5框架安装。坦率地说,我们没有对此进行测试。

而不是在安装了各种框架的机器上测试/加载应用程序,这不是很容易,我正在寻找一个工具,可以简单地告诉我正式发布的框架版本,给定程序集中的方法将工作在 - 或者更有趣的是,它将工作的版本以及违规方法是什么。

1 个答案:

答案 0 :(得分:0)

我个人不知道任何可以分析.NET程序集的工具,并告诉您特定框架版本可用/不可用的方法。

我认为您可以做的最好的事情是在框架的各种配置下运行代码。例如,您可以尝试使用VMWareHyper-V来创建安装了不同版本.NET框架的虚拟机。可能值得一试。

除此之外,您必须手动查看.NET代码并手动查看,与MSDN交叉引用代码,以确定方法是否对特定框架版本有效。

我对其他人的答案感兴趣 - 如果有一个工具可以分析.NET代码以确定不同版本的有效性,那么这是一个杀手级的应用程序! :)