我正在用C#编写代码库,并且测试PC没有安装正确的.NET 3.5 Service Pack来运行代码(与此处发生的问题相同:Exception is occuring only on my machine: Method not found: WaitHandle.WaitOne(Int32))。我想知道是否有一个静态代码分析工具,我可以在我的代码中运行,它将告诉我每个单独模块(或程序集)所需的最低.NET版本。
感谢。
答案 0 :(得分:3)
项目属性 - >应用程序 - >目标框架。
答案 1 :(得分:2)
我不知道任何静态分析工具,但这是我发现的,基于MSDN文档和一些博客文章:
System.Data.Entity.dll
或使用ClickOnce - .NET 3.5 SP1 System.Data.Entity.dll
且未使用ClickOnce - .NET 3.5 RTM 注意:
我相信.NET 3.5 SP1是唯一增加了重要功能的服务包,因此它是唯一会导致MissingMethodException
问题的服务包。例如,这意味着3.0 RTM,3.0 SP1和3.0 SP2具有相同的公共API。我没有找到明确的确认,但“.NET中的新功能”文档仅涵盖2.0 / 3.5 / 3.5SP1 / 4.0,因此这是一个合乎逻辑的结论。
VS 2008 SP1有一些关于“.NET Framework 3.5”的奇怪规则(仅在实际使用时尝试定位SP1),但VS2010仅支持定位.NET 3.5 SP1。
来源: