1

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

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

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

4

1 回答 1

0

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

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

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

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

于 2010-07-14T21:55:14.517 回答