2011-11-26 72 views
4

我正在使用Visual Studio 2010與.NET 4.0。與.NET 4.0的Visual Studio 2010無法識別System.Web.UI.DataVisualization.Charting

我剛開始使用MS圖表。當我complie項目,我獲得以下錯誤:

The type or namespace name 'DataVisualization' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?) 

而且也,在我的代碼,此行有一個squigly線下面就表明該命名空間無法找到:

using System.Web.UI.DataVisualization.Charting; 

然而,如果我去我的本地主機到有圖表的頁面,它呈現很好。

另一個奇怪的是,當我編譯(CTRL + SHIFT + B),我會在第一時間拿到我編譯3個編譯錯誤,然後當我再這樣做,以後直,我得到16

即使我得到上面的編譯錯誤,我仍然可以運行應用程序,一切正常,但它真的很煩人,它不會編譯,所以我必須做錯了什麼。

任何幫助,這將不勝感激。

謝謝。

回答

1

不幸的是,這一切都沒有奏效。我最終創建了一個全新的解決方案,並添加了所有代碼,並且正常工作。在我找不到的某個地方肯定有一個gremlin。

+0

我想通了下面看到我的解決方案 –

0

您是否在您的web項目中添加了該DLL作爲參考?這聽起來像你只是將其包含在bin文件夾中或其他東西。

0

在項目引用,添加System.Web.DataVisualization.dll

Even though I get the compilation errors above, I can still run the application and everything works fine, but it is really annoying that it won't compile so I must be doing something wrong.

你實際的代碼是不是一個運行,因爲它沒有編譯。如果正在運行的實例仍然正常工作,那麼dll可能是您的exe文件所在bin文件夾中的某處。

2

添加引用System.Web.DataVisualization.dll和你的頁面上添加一個圖表控件和製造web.config設置等

檢查在Web.config中這些enteries ..如果這些可用的刪除控制那麼它應該運作良好。

<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> 
+0

給別人看,沒有得到結果。我想通了下面看到我的解決方案。 –

5

點擊您的項目,並在.NET組件選項卡添加System.Web.DataVisualization添加引用。這應該可以解決你的問題。

7

好的,找出問題所在。

我看着Google ... StackOverflow並找到了這個頁面,但我知道這個問題不需要重新開始修復。

我有所有的參考資料,並修復了網絡。配置,我仍然有錯誤。

的答案是從改變.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的Target Framework)

+0

完美!完全是我的問題。謝謝。 – dviljoen

0

此解決方案(創建新項目)爲了我。不像許多其他人有這個問題,我沒有使用設計師,也沒有使用web.config(桌面應用程序)。重新創建一個新項目,然後添加引用,我能夠引用組件和方法。

「不幸的是,這些工作都沒有成功,我最終創建了一個全新的解決方案,並添加了所有的代碼,並且它的工作正常,在我找不到的地方肯定有一個gremlin。

0

I ended up creating a brand new solution and added all the code and it worked properly. There must have been a gremlin somewhere that I couldn't find.

您的gremlin很可能是住在調用控件的頁面的設計器文件中。那是我的情況。問題的原因是編輯.aspx文件並在調試器運行時添加控件 - 設計器文件無法在此模式下編輯。必須停止調試器來添加控件。

修復後,重建解決方案來修復您的.dll文件。

是的,從頭開始將修復設計器文件中的視覺工作室呃逆,但它並不總是一種選擇。

相關問題