为什么我无法在控制台应用程序中引用System.Web.Extensions?

问题描述:

程序集不在“添加引用...”对话框的列表中。当我手动找到它并添加它时,它上面有一个小惊叹号,我似乎无法在代码中引用它。为什么我无法在控制台应用程序中引用System.Web.Extensions?

我在VS2010的2个不同副本上试过了,结果相同。

+0

是的!有一个工具提示,当你把鼠标放在它上面?它说什么? – BoltClock

+0

@BoltClock它没有tooltip :( – AngryHacker

从客户端配置文件更改Target Framework到完整框架,您将能够添加它。

默认情况下,控制台应用程序的目标是不包含Web程序集的“.NET Framework xx客户端配置文件”。在Project - > Properties - > Application中将目标框架更改为“.NET Framework xx”。

这很可能是因为您的项目所针对的框架版本。

如果您的目标是.NET 4.0客户端配置文件,则不包括web程序集。将项目更改为目标4.0,您应该很好。

进入您的项目的属性,并从的.NET Framework 4客户端配置文件只是.NET框架4更改目标框架。有关Client Profile

更多信息:

.NET Framework 4的客户端配置文件是针对客户端应用程序优化的.NET Framework 4 的一个子集。它为大多数客户端应用程序提供了功能 ,包括Windows Presentation Foundation(WPF),Windows Forms,Windows Communication Foundation (WCF)和ClickOnce功能。这为面向.NET Framework 4客户端配置文件的应用程序实现了更快的部署和更小的安装包。

我相信这是在VS2012中解决的。我被允许在我的新控制台应用程序中添加对System.Web的引用。默认情况下,我的应用程序的目标是“.NET Framework 4.5.1”而不是目标客户端。 (实际上,我的列表中没有看到“4.5”客户端配置文件。)

根据http://msdn.microsoft.com/en-us/library/cc656912(v=vs.110).aspx “从.NET Framework 4.5开始,客户端配置文件已停用,只有完整的可再发行组件包可用“。