【发布时间】:2010-02-28 00:44:45
【问题描述】:
我有一个使用 .NET 3.5 编写的基本服务器控件。如果我将该 dll 提供给正在运行 .NET 2.0 应用程序的人,它会起作用吗?
【问题讨论】:
标签: c# .net backwards-compatibility
我有一个使用 .NET 3.5 编写的基本服务器控件。如果我将该 dll 提供给正在运行 .NET 2.0 应用程序的人,它会起作用吗?
【问题讨论】:
标签: c# .net backwards-compatibility
除非您引用 .NET 3.0 或 3.5 中包含的任何 DLL,否则它应该可以工作,因为 CLR 版本在 .NET 2.0、3.0 和 3.5 中是相同的。我相信 2.0 程序集(“红色位”)可能有微小的变化,但我必须仔细检查。
您甚至可以将 Visual Studio 中的项目属性更改为以 .NET 2.0 为目标。如果您的应用无法编译,那么它无论如何都不会在 .NET 2.0 上运行。
Scott Hanselman 发布了关于 .NET 2.0-3.5 differences 的帖子。
【讨论】:
您应该做的第一件事是尝试将 Target Framework 更改为 2.0 并查看您的 Server Control 项目是否仍然可以编译(右键单击项目,选择 Properties,然后将 Target Framework 更改为“.NET Framework 2.0”并选择“目标框架更改”对话框中的“是”)。如果它仍然可以编译,那么你就有了一个不错的开始。现在编译它,将它添加到一个新网站并检查它是否有效。
大多数时候您可能会发现您的控件不会使用任何 3.5 特定功能,因此一旦您尝试针对 3.5 编译它,您就可以开始使用了!
【讨论】: