在 .NET Framework 中,并行版本执行指的是计算机上安装了多个 .NET Framework 版本时,应用程序仍然可以只使用其编译时的特定版本进行执行。 有关配置并行执行的详细信息,请参阅 并行执行。
使用 .NET Framework 的一个版本编译的应用程序可以在不同版本的 .NET Framework 上运行。 但是,我们建议为每个已安装版本的 .NET Framework 编译应用程序版本,并单独运行它们。 在任一方案中,都应注意版本之间的 ADO.NET 更改,这些更改可能会影响应用程序的向前兼容性或向后兼容性。
向前兼容性和后向兼容性
向前兼容性意味着可以使用早期版本的 .NET Framework 编译应用程序,但仍会在 .NET Framework 的更高版本上运行。 为 .NET Framework 版本 1.1 编写的 ADO.NET 代码与更高版本向前兼容。
向后兼容性意味着应用程序是为较新版本的 .NET Framework 编译的,但将继续在早期版本的 .NET Framework 上运行,而不会丢失任何功能。 当然,对于新版本的 .NET Framework 中引入的功能,情况并非如此。
用于 ODBC 的 .NET Framework 数据提供程序
从版本 1.1 开始,.NET Framework Data Provider for ODBC (System.Data.Odbc) 包含在 .NET Framework 中。
如果已为使用 ODBC 数据提供程序连接到数据源的 .NET Framework 版本 1.0 开发的应用程序,并且想要在 .NET Framework 版本 1.1 或更高版本上运行该应用程序,则必须将 ODBC 数据提供程序的命名空间更新为 System.Data.Odbc。 然后,必须为较新版本的 .NET Framework 重新编译它。
如果您有一个为 .NET Framework 版本 2.0 或更高版本开发的应用程序,该应用程序使用 ODBC 数据提供程序连接到数据源,并且您希望在 .NET Framework 版本 1.0 上运行该应用程序,您必须下载 ODBC 数据提供程序并将其安装在 .NET Framework 版本 1.0 的系统上。 然后,必须将 ODBC 数据提供程序的命名空间更改为 Microsoft.Data.Odbc,然后重新编译 .NET Framework 版本 1.0 的应用程序。
用于 Oracle 的 .NET Framework 数据提供程序
从版本 1.1 开始,.NET Framework Data Provider for Oracle (System.Data.OracleClient) 包含在 .NET Framework 中。
如果有一个使用数据提供程序连接到数据源的应用程序,是为 .NET Framework 版本 2.0 或更高版本开发的,并且您想在 .NET Framework 版本 1.0 上运行该应用程序,您必须下载数据提供程序并将其安装在 .NET Framework 版本 1.0 系统上。
代码访问安全性
从 .NET Framework 版本 2.0 开始,所有 .NET Framework 数据提供程序都可以在部分受信任的区域中使用。 此外,还向 .NET Framework 版本 1.1 中的 .NET Framework 数据提供程序添加了新的安全功能。 使用此功能可以限制特定安全区域中可以使用的连接字符串。 还可以禁用对特定安全区域使用空白密码。 有关详细信息,请参阅 代码访问安全和 ADO.NET。
由于 .NET Framework 的每个安装都有单独的 Security.config 文件,因此安全设置没有兼容性问题。 但是,如果应用程序依赖于 .NET Framework 版本 1.1 及更高版本中包括的 ADO.NET 的其他安全功能,则无法将其分发到版本 1.0 系统。
SqlCommand 执行
在 .NET Framework 版本 1.1 及更高版本中,仅当命令包含提供性能优势的参数时, ExecuteReader才在sp_executesql 存储过程的上下文中执行命令。 因此,如果影响连接状态的命令包含在非参数化命令中,则会修改连接打开时执行的所有后续命令的连接状态。
请考虑在调用 ExecuteReader中执行的以下一批命令。
SET NOCOUNT ON;
SELECT * FROM dbo.Customers;
NOCOUNT
对连接打开时执行的任何后续命令都将保持为 ON
。