c# - 在只有 2.0 框架的服务器上执行编译后的 3.5 代码时出现问题

标签 c# asp.net .net-3.5

我似乎无法在我的开发服务器上启动和运行我的应用程序,我不确定为什么。

我在 VS 2008 中编译了我的代码,目标框架为 3.5。我使用 3.5 主要是因为我相当广泛地实现了 LINQ。本地编译运行没有任何问题。

问题是我的服务器只有 2.0 .Net 框架,升级到 3.5 显然是不可能的。

经过一些研究后,我的印象是只要我尝试执行编译后的代码,服务器就不需要安装 3.5。

今天我试图发布到服务器,但我无法在我的 WEB.CONFIG 中解决这个错误

配置错误

解析器错误消息:不允许子节点。

providerOption name="CompilerVersion"value="v3.5"/

编辑附加问题: 我看过一些关于可能将我的引用设置为“复制本地”的帖子,这可能允许我在 2.0 服务器上运行。想法?

最佳答案

你说得对,3.5 在 2.0 CLR 上运行,但 3.5 包含库,如果你使用了其中任何库,除非你在该服务器上安装 3.5,否则你就不走运了。

3.5 程序有很多选项无法仅在 2.0 上正确运行,因此我会考虑降级程序或升级服务器。


关于复制本地的注意事项。即使您复制了您的应用程序使用的所有 3.5 库,也不能保证它能正常工作,而且很可能不会。即便如此,.NET 许可证明确禁止随您的应用分发库。

既然您已经声明您使用 LINQ,那么让您的应用运行的唯一合法方法是安装 3.5 许可证。

或者,您可以仅使用 2.0 重写您的应用。

关于c# - 在只有 2.0 框架的服务器上执行编译后的 3.5 代码时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/167569/

相关文章:

c# - .NET Framework 3.5 的等效元组 (.NET 4)

c# - 如何识别通用声明类型?

c# - 强制 WCF 在客户端代理中创建 xml 命名空间别名

c# - asp.net 检查页面是否失焦

.net - 使用Visual Studio 2010 开发.net 3.5 sp1 产品有什么危险吗?

wpf - WPF中如何显示多层控件?

c# - 在 c# 中的 grideview + 模板上设置交替行样式

c# - 为什么我的 TreeView 不更新?

asp.net - 如何使用多个绑定(bind)将 WCF json 绑定(bind)到 https?

ASP.NET:通过客户端 JavaScript 在 ASP.NET TreeView 上选择节点