C# Visual Studio 2010和.NET 4.0不识别System.Web.UI.DataVisualization.Charting

C# Visual Studio 2010和.NET 4.0不识别System.Web.UI.DataVisualization.Charting,c#,.net,visual-studio-2010,.net-4.0,C#,.net,Visual Studio 2010,.net 4.0,我正在使用Visual Studio 2010和.NET 4.0 我刚刚开始使用MS图表。当我完成项目时,我得到以下错误: The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?) 而且,在我的代码中,这一行下面有一条扭曲的线,表示找不到名称空间: using System.Web.

我正在使用Visual Studio 2010和.NET 4.0

我刚刚开始使用MS图表。当我完成项目时,我得到以下错误:

The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?)
而且,在我的代码中,这一行下面有一条扭曲的线,表示找不到名称空间:

using System.Web.UI.DataVisualization.Charting;
但是,如果我转到本地主机中包含图表的页面,它会呈现良好效果

另一件奇怪的事情是,当我编译(CTRL+SHIFT+B)时,我第一次编译时会得到3个编译错误,然后当我再次编译时,紧接着,我得到16个

即使我得到了上面的编译错误,我仍然可以运行应用程序,一切正常,但它无法编译,这真的很烦人,所以我一定是做错了什么

在此方面的任何帮助都将不胜感激


谢谢。

您是否在web项目中添加了DLL作为参考?听起来好像您只将其包含在bin文件夹或其他内容中。

在项目参考下,添加
System.Web.DataVisualization.dll

即使我得到了上面的编译错误,我仍然可以运行 应用程序和一切工作正常,但这真的很烦人 它无法编译,所以我一定是做错了什么


您的实际代码不是正在运行的代码,因为它没有编译。如果正在运行的实例仍能正常工作,则dll可能位于exe文件所在的bin文件夹中。

添加对System.Web.DataVisualization.dll的引用,并在页面上添加图表控件和删除用于进行Web.config设置的控件等

在Web.config中检查这些条目。。如果这些都可用,那么它应该工作得很好

<pages>
  <controls>
    <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting" assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
  </controls>
</pages>

二,


三,



单击在项目中添加引用,并在.NET组件选项卡中添加System.Web.DataVisualization。这应该可以解决您的问题。

不幸的是,所有这些都不起作用。我最终创建了一个全新的解决方案,并添加了所有代码,它工作正常。一定有个小精灵在我找不到的地方。

好的,找到问题了

我看了谷歌。。。StackOverflow并找到了这个页面,但我知道这个问题不需要通过重新开始来解决

我有所有的参考资料并修复了web.config,但我仍然得到了错误

答案是将.Designer代码从

protected global::System.Web.UI.WebControls.Chart chartDailyVolume;

我将另一个VisualStudio2010项目中的代码复制并粘贴到页面上,而设计师实际上将其绑定错了。当我将另一个图表拖到页面上,然后将其删除并进行良好编译时,我将TFS中的签入代码与新修复程序进行了比较。因此,我注意到Designer.cs实际上是通过复制和粘贴生成错误的,尽管这两个都是visual studio 2010解决方案项目(目标框架均为.NET Framework 4)

此解决方案(创建新项目)对我有效。与其他许多有这个问题的人不同,我没有使用设计器,也没有使用web.config(桌面应用程序)。重新创建一个新项目,然后添加引用,我能够引用组件和方法

“不幸的是,所有这些都不起作用。我最终创建了一个全新的解决方案,并添加了所有代码,它工作正常。一定有一个我找不到的小精灵。”

我最终创建了一个全新的解决方案,并添加了所有代码和它 工作正常。我想一定有个小精灵在什么地方 找不到

你的小精灵很可能是住在调用控件的页面的设计器文件中。这就是我的情况。问题的原因是在调试器运行时编辑.aspx文件并添加控件-无法在此模式下编辑设计器文件。必须停止调试器才能添加控件

修复后,重新生成解决方案以修复.dll文件


是的,从头开始可以修复设计器文件中的visual studio问题,但这并不总是一个选项。

我发现了这一点,请参见下面的解决方案,其他人正在查看,但没有得到结果。我知道了,看下面我的解决方案。太好了!正是我的问题。非常感谢。
 <httpHandlers>
      <add path="ChartImg.axd" verb="GET,HEAD" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
    </httpHandlers>
protected global::System.Web.UI.WebControls.Chart chartDailyVolume;
protected global::System.Web.UI.DataVisualization.Charting.Chart chartDailyVolume;