For a project, I've created a web-part which derives from the ChartWebPart class (in order to set the data-source relatively).

***SP:***

> SharePoint Server 2010 (Enterprise)

***cs-file:***

    using System;
    using System.ComponentModel;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.DataVisualization.Charting;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.Office.Server.WebControls;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;

    namespace Cbs.PP.ProjectCosts.WebParts.ProjectExpensesChartWebPart
    {
        [Serializable()]
        [ToolboxItemAttribute(false)]
        public class ProjectExpensesChartWebPart : ChartWebPart
        {
            public ProjectExpensesChartWebPart()
            { 
            }

            protected override void CreateChildControls()
            {
                base.CreateChildControls();
            }

        }
    }

***Elements.xml:***

    <?xml version="1.0" encoding="utf-8"?>
      <Elements xmlns="http://schemas.microsoft.com/sharepoint/" >
        <Module Name="ProjectExpensesChartWebPart" List="113" Url="_catalogs/wp">
          <File Path="ProjectExpensesChartWebPart\ProjectExpensesChartWebPart.webpart"
                Url="ProjectExpensesChartWebPart.webpart" 
                Type="GhostableInLibrary">
            <Property Name="Group" Value="CBS" />
          </File>
        </Module>
      </Elements>

Deploying the web-part and adding it to a site is no problem, but when I try to configure the webpart, it throws an exeption:
> **Type:** SerializationException 
> **Message:** The constructor which is needed for the deserialization of an object of the type "[...].ProjectExpensesChartWebPart" couldn't be found.*

*note: translation, since I have the german version of SP installed. Original: "Der für die Deserialisierung eines Objekts mit dem Typ "[...].ProjectExpensesChartWebPart" erforderliche Konstruktor wurde nicht gefunden."

I hope that someone has a clue, what's wrong here, or can at least point me in the right direction.

also, the ***Stacktrace:***

> bei System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
bei System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)  
bei System.Runtime.Serialization.ObjectManager.DoFixups()
   bei System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   bei System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
   bei System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
   bei Microsoft.Office.Server.Internal.Charting.Utilities.ChartAdminPageBase.get_currentWorkingSet()
   bei Microsoft.Office.Server.Internal.Charting.Utilities.ChartAdminPageBase.FetchFromCurrentWorkingSet(String key)
   bei Microsoft.Office.Server.Internal.Charting.UI.WizardConnectToDataPage.LoadModel()
   bei Microsoft.Office.Server.Internal.Charting.UI.WizardConnectToDataPage.OnLoad(EventArgs e)
   bei System.Web.UI.Control.LoadRecursive()
   bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)