我正在使用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;
但是,如果我转到我的localhost到其中包含图表的页面,它会呈现正常。
另一个奇怪的事情是,当我编译(CTRL + SHIFT + B)时,我会在第一次编译时得到3个编译错误,然后当我再次执行时,直接执行,我得到16。
即使我得到上面的编译错误,我仍然可以运行应用程序,一切正常,但它真的很烦人,它不会编译所以我一定做错了。
非常感谢任何帮助。
感谢。
答案 0 :(得分:7)
好的,找出了问题。
我查看了Google ... StackOverflow并找到了此页面,但我知道问题不需要通过重新开始修复。
我有所有引用并修复了web.config,但我仍然遇到错误。
答案是从
更改.Designer代码protected global::System.Web.UI.WebControls.Chart chartDailyVolume;
到
protected global::System.Web.UI.DataVisualization.Charting.Chart chartDailyVolume;
我已经将另一个visual studio 2010项目中的代码复制并粘贴到页面上,而设计师却错误地将其绑定。当我将另一个Chart拖到页面然后将其删除并编译好时,我将我在TFS中签入的代码与新修复程序进行了比较。因此,我注意到Designer.cs实际上是通过复制和粘贴生成错误的,即使它们都是visual studio 2010解决方案项目(都使用.NET Framework 4的Target Framework)
答案 1 :(得分:5)
单击项目和.NET组件选项卡中的添加引用添加System.Web.DataVisualization 。这应该可以解决你的问题。
答案 2 :(得分:2)
添加对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>
2
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
3
<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>
答案 3 :(得分:1)
不幸的是,这一切都没有奏效。我最终创建了一个全新的解决方案,并添加了所有代码,并且它正常工作。某个地方肯定有一个我找不到的地方。
答案 4 :(得分:0)
您是否已将DLL添加为Web项目中的参考?听起来你只是将它包含在bin文件夹或其他东西中。
答案 5 :(得分:0)
在项目参考下,添加System.Web.DataVisualization.dll
即使我得到上面的编译错误,我仍然可以运行 应用程序,一切正常,但它真的很烦人 它不会编译所以我一定做错了。
您的实际代码不是正在运行的代码,因为它没有编译。如果正在运行的实例仍然正常工作,则dll可能位于exe文件所在的bin文件夹中。
答案 6 :(得分:0)
这个解决方案(创建一个新项目)对我有用。与许多其他有此问题的人不同,我没有使用设计器,也没有使用web.config(桌面应用程序)。重新创建一个新项目,然后添加引用,我就能够引用组件和方法。
“不幸的是,这一切都没有用。我最终创建了一个全新的解决方案,并添加了所有代码,并且它运行正常。在某处我找不到一个gremlin。”
答案 7 :(得分:0)
我最终创建了一个全新的解决方案并添加了所有代码 工作正常。我必须在某个地方有一个gremlin 找不到。
你的gremlin最有可能生活在调用控件的页面的设计器文件中。那是我的情况。问题的原因是编辑.aspx文件并在调试器运行时添加控件 - 无法在此模式下编辑设计器文件。必须停止调试器才能添加控件。
修复后,重建解决方案以修复.dll文件。
是的,从头开始会将视觉工作室打嗝修复到设计器文件中,但它并不总是一个选项。