Visual Studio 2010 with .NET 4.0 not recognising System.Web.
本文关键字:not recognising System Web Studio 2010 with NET Visual | 更新日期: 2023-09-27 18:16:02
我使用的是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。
即使我得到上面的编译错误,我仍然可以运行应用程序,一切都很好,但它真的很烦人,它不会编译,所以我一定是做错了什么。
如果有任何帮助,我将不胜感激。
谢谢。
好了,找到问题了。
我在谷歌上查了一下……找到了这个页面,但是我知道这个问题不需要通过重新开始来解决。
我有所有的参考资料和固定的网页。
的答案是从
更改。designer代码protected global::System.Web.UI.WebControls.Chart chartDailyVolume;
protected global::System.Web.UI.DataVisualization.Charting.Chart chartDailyVolume;
我从另一个visual studio 2010项目复制并粘贴代码到页面,设计师实际上绑定错误。当我将另一个图表拖到页面上,然后将其删除并进行编译时,我将TFS中的检入代码与新修复进行了比较。因此,我注意到Designer.cs实际上从复制和粘贴中生成了错误,即使两者都是visual studio 2010解决方案项目(都使用。net Framework 4的目标框架)
单击项目中的Add References,并在。net Components选项卡中添加system . web . datavuvisualization 。这应该能解决你的问题。
添加对system . web. datavisvisualization .dll的引用,并在页面上添加图表控件,并删除制作web的控件。配置设置等
在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>
不幸的是,这些都不起作用。我最终创造了一个全新的解决方案,并添加了所有的代码,它正常工作。
您是否在web项目中添加了DLL作为参考?听起来好像你只把它包含在bin文件夹或其他地方。
在Project references下,添加System.Web.DataVisualization.dll
即使我得到了上面的编译错误,我仍然可以运行应用程序和一切都很好,但它真的很烦人它不能编译,所以我一定是做错了什么。
您的实际代码没有运行,因为它没有编译。如果运行实例仍然正常工作,那么dll可能在exe文件所在的bin文件夹中的某个地方。
这个解决方案(创建一个新项目)对我很有效。不像其他有这个问题的人,我没有使用设计器,也没有使用web。配置(桌面应用程序)。重新创建一个新项目,然后添加引用,我就可以引用组件和方法了。
"不幸的是,这些都不起作用。我最终创造了一个全新的解决方案,并添加了所有的代码,它正常工作。一定有什么我找不到的小精灵。"
我最终创造了一个全新的解决方案,并添加了所有的代码和它正常工作。一定有个小精灵在什么地方,我找不到。
您的gremlin很可能位于调用该控件的页面的设计器文件中。那是我的案子。问题的原因是在调试器运行时编辑.aspx文件并添加控件-在此模式下无法编辑设计器文件。必须停止调试器才能添加控件。
修复后,重新构建解决方案以修复您的.dll文件。
是的,从头开始可以解决设计器文件中的visual studio问题,但这并不总是一个选项。