VS2010,一个解决方案,点“重新生成解决方案”就报出十几条错,但如果先点“清理解决方案”,再点“重新生成解决方案”就不报错。

ynduanlian 2012-11-20 11:08:28

错误基本上是报这个:
命名空间“System.Net”中不存在类型或命名空间名称“Json”。是否缺少程序集引用?
这是怎么回事?
...全文
3087 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
F15Eagle 2013-04-27
  • 打赏
  • 举报
回复
原因:解决方案中的某些项目已被其他版本的VS修改,如当前解决方案是使用VS2008创建使用的,而解决方案中的某些项目被VS2010打开修改,当重新用VS2008打开项目,就会这样的,VS2008识别就会出问题,认不出,但有时编译还能通过。只是情况之一啊,也可能是代码生成器针对VS2010生成的代码,而我们却用VS2008,哈哈。总之这是个版本识别失败的问题。 注意:一般即使项目能生成成功,下方输出中也会有如下提示出现。 项目文件包含ToolsVersion="4.0",此版本的 MSBuild 不支持这种情况。 解决:已经出现这种情况了,用以下办法可以解决。 1、使用VS2008打开解决方案。 2、使用记事本打开项目文件(即.csproj文件) 找以下两行: <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> ... <OldToolsVersion>3.5</ OldToolsVersion> 修改为: <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> ... <OldToolsVersion>2.0</ OldToolsVersion> 修改完保存,关闭记事本。 3、回到VS2008会提示“项目已经在该环境外被修改”,选择“重新加载”。 4、解决方案下所有项目都看看,需要调整的就按第2、3步调整,直到全部项目都改完。 5、重新生成解决方案。 好使的,我这里也这样,刚改完。我也发现清理之后就不提示错误了,哈哈,所以百度到这个帖子了。楼主,个人感觉可以结贴了,注意VS版本就行了,VS2008尽量扔掉,不跟潮流是不行了。 解决过程中看了weaver2007的博客,http://blog.csdn.net/weaver2007/article/details/8545817,感谢一下。
F15Eagle 2013-04-27
  • 打赏
  • 举报
回复
此错误提示应该是命名空间识别有误,应该不影响编译。
  • 打赏
  • 举报
回复
有些DLL是不是在生成动作里用脚本copy过去的?如果引用设置适当的话,应该是会自动更新所有DLL的。
bdmh 2012-11-20
  • 打赏
  • 举报
回复
如果你已经引用dll,还要在代码中useing命名空间,还可能是你使用的.net版本和json的版本不一致
yue547283947 2012-11-20
  • 打赏
  • 举报
回复
缺少参照,你的是Silverlight程序? 类名:System.ServiceModel.Web.dll 路径:C:\Program Files\Microsoft Silverlight\5.0.61118.0\System.ServiceModel.Web.dll
bdmh 2012-11-20
  • 打赏
  • 举报
回复
引用Json所在的dll

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧