我在一台同时包含VS 2008 Express的计算机上使用C#2005 Express编译了一个.NET 2.0应用程序。当我在具有.NET 2.0 SP1运行时的计算机上运行应用程序时,只有应用程序不执行并引发有关向Microsoft等发送报告的错误。我的印象是编译器默默地引用某些3.5库并且可执行期望它在目标机器上。如何强制编译为纯.NET 2.0?
答案 0 :(得分:2)
在使用Visual Studio 2008的项目属性页面中,您可以定位特定的框架版本。但是,如果你在VS2005中编译它,如果这是你的问题会很奇怪,但是发生了一些奇怪的事情。
答案 1 :(得分:2)
除了将特定框架定位为mentioned by marr75之外,您还需要验证您引用的任何其他程序集是否正在针对.net 2.0。如果您使用任何第三方程序集,则可能需要.NET 3.5。
答案 2 :(得分:0)
检查事件日志中的错误并使用fusion logging来尝试识别它试图引用的程序集(如果您认为它试图在DotNet 3.5框架中加载程序集)
答案 3 :(得分:0)
你提到你用2005年“编译”了这个应用程序,但它最初是在2005年或2008年“创建”的吗?如果在2008年创建,配置文件中可能会有一些内容或者要查看的内容。