Asp.net 升级到Visual studio 2010后找不到System.Web.Script.Service命名空间错误

Asp.net 升级到Visual studio 2010后找不到System.Web.Script.Service命名空间错误,asp.net,json,.net-3.5,visual-studio-2010,Asp.net,Json,.net 3.5,Visual Studio 2010,我刚刚将一个VS 2008项目升级到VS 2010,对该项目进行了转换,但将目标保持为.NET 3.5(已安装SP1)。在另一台机器上,我的项目在VS2008下正常工作 我已经添加了对System.Web.Extensions.dll的引用,但仍然从App_code文件夹中的代码中得到以下错误: 1) 找不到System.Web.Script.Service命名空间 2) 未定义类型“System.Web.Script.Services.ScriptService” 3) 未定义类型“Syste

我刚刚将一个VS 2008项目升级到VS 2010,对该项目进行了转换,但将目标保持为.NET 3.5(已安装SP1)。在另一台机器上,我的项目在VS2008下正常工作

我已经添加了对System.Web.Extensions.dll的引用,但仍然从App_code文件夹中的代码中得到以下错误:

1) 找不到System.Web.Script.Service命名空间

2) 未定义类型“System.Web.Script.Services.ScriptService”

3) 未定义类型“System.Runtime.Serialization.Json.DataContractJsonSerializer”

有没有人知道问题出在哪里,因为我被难住了(

  • 检查web.config程序集 条目

  • 在Visual Studio中检查.NET Framework 2010项目,默认值为4.0

  • 检查IIS,确保您正在使用适当的框架 新的.NET 4.0安装可以将默认框架更改为4.0


似乎有一个来自微软的错误,VS2010中v3.5的目标框架是GAC的v3.0!将有问题的程序集移动到v3.0文件夹似乎开始解决问题,但有点混乱。我想我会等待微软为VS2010提供适当的修复

谷歌翻译帮助这个链接

有关从v3.5文件夹复制到v3.0文件夹的程序集的更多详细信息,以解决此VS 2010错误:

如果其他任何人遇到此问题,并希望与Microsoft一起跟踪/表决此错误的状态:

更新-Microsoft对我提出的错误报告发布了以下修复程序:

若要构建以3.5为目标的网站,请在web.config文件中添加编译器标记,如下面我粘贴的那样,这样语言编译将获得正确版本的vbc.exe。您可以创建新的3.5网站,默认的web.config具有您可以引用的标记

<system.codedom>
  <compilers>
    <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <providerOption name="CompilerVersion" value="v3.5"/>
      <providerOption name="OptionInfer" value="true"/>
      <providerOption name="WarnAsError" value="false"/>
    </compiler>
  </compilers>
</system.codedom>


我通过将网站的目标框架从3.5更改为4.0,然后再次更改为3.5,解决了类似的问题

这导致在我的web.config文件中添加了大量内容,这可能使Visual Studio更容易支持我的项目


我从未“将我的项目升级到Visual Studio 2010”,但这是一个较旧的aspx网站,这可能是它第一次使用VS 2010打开。

在Visual Studio 2012中,请务必添加对
System.Web.Extensions
的引用,因为它包含
System.Web.Script.Serialization
通过更改网站目标,我也解决了类似的问题框架从3.5到4.0,再回到3.5。

Hi Rick,我已经有了这两个条目:Hi Rick,再次欢呼,但我的目标是3.5而不是4.0。我直接从VS 2010运行网站,所以IIS不应该进来玩。你的机器有过Visual Studio 2010 Beta版或RC版吗?我不得不手动删除一些目录欢迎2010年正常运行。嗨,瑞克-再次感谢你的想法!不,这台机器重新安装了所有最新的玩具,因为我刚刚升级了硬盘,并决定重新开始:Windows 7,VS 2010,Office 2010,Expression 4。哦,我还在VS 2010之前安装了SQL Server 2008 R2,以防有任何关联(可能没有)。有趣…当在VS 2010中使用对象浏览器并向下搜索到C:\Program Files\Reference Assemblys\Microsoft\Framework\v3.5\System.Web.Extensions.dll>System.Web.Script.Services时,我找不到ScriptService项。此外,当我向下搜索到C:\Program Files\Reference Assemblys\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll时,也找不到ScriptService项>System.Runtime.Serialization我也看不到Json项。与代码中报告的问题相匹配。我是否缺少一些安装?另一个有趣的是,如果我以4.0框架而不是3.5框架为目标,一切正常。不幸的是,我的web服务器上还没有4.0:(