基于版本的ASP.net忽略标记
我正在两个不同的服务器(2.0和3.5.net版本)中部署我的asp.net。某些标记在.net 2.0中不受支持。如何检查.net版本并忽略html标记基于版本的ASP.net忽略标记,asp.net,Asp.net,我正在两个不同的服务器(2.0和3.5.net版本)中部署我的asp.net。某些标记在.net 2.0中不受支持。如何检查.net版本并忽略html标记 例如,AJAX。。我想在.net 2.0中禁用,在项目属性下,您可以针对.net 2.0框架。这将删除仅对.Net 3.5的引用。将.aspx文件中的标记静态编译为一系列对象实例化。当相应类型不存在时,无法使用某些标记 如果需要同时针对ASP.NET 2.0和3.5,则需要在代码隐藏中使用ASP.NET 3.5的特定功能,并且仅在测试当前版本
例如,AJAX。。我想在.net 2.0中禁用
,在项目属性下,您可以针对.net 2.0框架。这将删除仅对.Net 3.5的引用。将.aspx文件中的标记静态编译为一系列对象实例化。当相应类型不存在时,无法使用某些标记
如果需要同时针对ASP.NET 2.0和3.5,则需要在代码隐藏中使用ASP.NET 3.5的特定功能,并且仅在测试当前版本之后。使用3.5功能的代码必须采用特定的方法,如果低于2.0,则绝不调用这些方法。JIT编译器以方法粒度工作,因此在从未调用的方法中可能存在未知类型。但以下措施无法奏效:
void f() {
if (IsRunningUnderAspNet35) {
AspNet35Class xxx = new AspNet35Class();
}
}
但以下工作:
void f() {
ICommonInterface i;
if (IsRunningUnderAspNet35) {
i = FactoryUsingAspNet35Class();
} else {
i = FactoryUsingAspNet20Class();
}
// use i
}
如果您正在使用引用AspNet 3.5的DLL,则需要动态加载它们,而不是通过静态项目引用加载它们
注意:您最好说服服务器管理员安装ASP.NET3.5