Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在较旧的.NET版本中编译并在较新的.NET版本中运行的程序集,行为是否会更改?_C#_Asp.net_.net_Winforms_.net 4.5 - Fatal编程技术网

C# 在较旧的.NET版本中编译并在较新的.NET版本中运行的程序集,行为是否会更改?

C# 在较旧的.NET版本中编译并在较新的.NET版本中运行的程序集,行为是否会更改?,c#,asp.net,.net,winforms,.net-4.5,C#,Asp.net,.net,Winforms,.net 4.5,我有一个用.NET3.5编译的程序集。我无法在.NET4.5中重新编译它,因为它在其他仍在运行.NET3.5的应用程序中使用。当我在运行.NET 4.5的应用程序中使用程序集时,程序集是否会被视为运行在.NET 4.5而不是.NET 3.5中?我在.NET4.5中有一个WinForms应用程序和一个WebForms应用程序。如果.NET 3.5和.NET 4.5之间的行为发生变化,程序集将返回4.5结果?通常.NET框架是向后兼容的,因此在4.5上执行在.NET 3.5中开发的程序集应该不会有问

我有一个用.NET3.5编译的程序集。我无法在.NET4.5中重新编译它,因为它在其他仍在运行.NET3.5的应用程序中使用。当我在运行.NET 4.5的应用程序中使用程序集时,程序集是否会被视为运行在.NET 4.5而不是.NET 3.5中?我在.NET4.5中有一个WinForms应用程序和一个WebForms应用程序。如果.NET 3.5和.NET 4.5之间的行为发生变化,程序集将返回4.5结果?

通常.NET框架是向后兼容的,因此在4.5上执行在.NET 3.5中开发的程序集应该不会有问题

你应该看到:

.NET Framework 4.5与以下应用程序向后兼容: 是使用.NETFramework版本1.1、2.0、3.0、3.5和4构建的。 换句话说,应用程序和组件是使用以前的 .NET Framework的版本将在.NET Framework 4.5上运行

但也可能存在类似文章中提到的问题:

然而,在实践中,这种兼容性可能会被 .NET Framework中无关紧要的更改和 编程技术。例如,系统中的性能改进 .NET Framework 4可以公开上未发生的竞争条件 早期版本。类似地,使用到.NET Framework的硬编码路径 程序集,与特定 NET Framework的版本,并获取私有 使用反射的字段不是向后兼容的实践。在里面 此外,每个版本的.NET Framework都包含bug修复和 与安全相关的更改可能会影响某些 应用程序和组件

对于您来说,最好的方法是确保您的测试用例在包含3.5中的dll之后通过