none
Problem mit Microsoft.Data.ConnectionUI RRS feed

  • Frage

  • Hallo,

    ich habe ein Problem mit der Microsoft.Data.ConnectionUI.dll. Ich möchte einen Dialog für das Erstellen/Verändern von Datenverbindungen in meinem Projekt haben. Dazu habe ich das Beispiel "http://xtechnotes.blogspot.de/2009_12_01_archive.html" gefunden und übernommen.

    Ich habe als erstes die Verweise auf folgende Dateien gemacht:

    - C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.Data.ConnectionUI.dll
    - C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Microsoft.Data.ConnectionUI.Dialog.dll

    In der Using Anweisung des Formulars habe ich :

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using Microsoft.Data.ConnectionUI;

    Im Quellcode kann ich ganz normal "Microsoft.Data.ConnectionUI.SqlFileConnectionProperties" und "Microsoft.Data.ConnectionUI.SqlConnectionUIControl" eingeben - wird auch von Intellisense unterstützt.

    Sobald ich aber das Debugging starte, wird folgender Fehler angezeigt:

    "Der Typ- oder Namespacename "SqlFileConnectionProperties" ist im Namespace "Microsoft.Data.ConnectionUI" nicht vorhanden."

    Der gleiche Fehler wird auch noch für SqlConnectionUIControl angezeigt.

    Danach funktioniert auch der Verweis in Intellisense nicht mehr.

    Könnt Ihr mir weiterhelfen? Ich arbeite mit VS2010/C#/.NET 4.

    LG

    Claudia

    Dienstag, 20. August 2013 09:14

Antworten

  • Hi Claudia,

    schau mal ob es Warnhinweise beim compilieren gibt.

    Wenn ich z.B. als Ziel Framwork 4.0 für Clients verwende. Bekommen ich zusätzlich noch den Warnhinweis, das ich das Framework ändern muss.  

    Und mal schauen ob das Programm auch als x86 compiliert wird, kann auch nicht schaden.

    MFG
    Björn

    Dienstag, 20. August 2013 10:58

Alle Antworten

  • Hallo, in dem von dir verlinkten Tutorial steht, das es nur die Verwendung einer Bibliothek auf Codeproject zeigt. Hier das Beispiel:
    http://www.codeproject.com/Articles/21186/SQL-Connection-Dialog

    Wenn du diese Bibliothek als Verweis setzt, sollten dann auch die Klassen gefunden werden.
    (Dioe Kalssen liegen bestimmt auch in einem weiteren Namespace)

    Das InetlliSense das manchmal Fehler nicht sofort mitbekommt, ist normal. Spätestens nach einem Erstellvorgangaber klappt es dann meistens. (Vor dem Debuggen wird erstellt).


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 20. August 2013 09:25
    Moderator
  • Hallo Tom, ich verstehe Deine Antwort jetzt nicht. Ich muss doch als erstes die Verweise auf beide DLL's setzen. Das steht doch auch so in Deinem Link.

    Die Using-Anweisung in meinem Formular habe ich dann nur auf "using Microsoft.Data.ConnectionUI;" gesetzt.

    Ich kann machen was ich will, es funktioniert nicht.

    Hier mal mein kompletter Quellcode:

    using System;
    using System.Drawing;
    using System.Windows.Forms;
    using Microsoft.Data.ConnectionUI;
    
    
    namespace WindowsFormsApplication7
    {
        public partial class DataBaseDialog : Form
        {
            Microsoft.Data.ConnectionUI.SqlFileConnectionProperties cp;
            Microsoft.Data.ConnectionUI.SqlConnectionUIControl uic;
    
            public string sConnectionString
            {
                get { return cp.ConnectionStringBuilder.ConnectionString; }
                set { cp.ConnectionStringBuilder.ConnectionString = value; }
            }
    
            public DataBaseDialog()
            {
                InitializeComponent();
                //this.Text = sTitle; // title of this form
                //this.AcceptButton = btnOK;
                //this.CancelButton = btnCancel;
    
    
                this.Padding = new Padding(5);
                uic = new Microsoft.Data.ConnectionUI.SqlConnectionUIControl();
                Button adv = new Button();
                Button tst = new Button();
    
                cp = new Microsoft.Data.ConnectionUI.SqlFileConnectionProperties();
                uic.Initialize(cp);
                uic.LoadProperties();
                uic.Dock = DockStyle.Top;
                uic.Parent = this;
    
    
                this.ClientSize = Size.Add(uic.MinimumSize, new Size(10, adv.Height + 25));
                this.MinimumSize = this.Size;
    
                adv.Text = "Advanced";
                adv.Dock = DockStyle.None;
                adv.Location = new Point(uic.Width - adv.Width, uic.Bottom + 10);
                adv.Anchor = AnchorStyles.Right | AnchorStyles.Top;
                adv.Click += new EventHandler(Advanced_Click);
                adv.Parent = this;
    
                tst.Text = "Test Connection";
                tst.Width = 100;
                tst.Dock = DockStyle.None;
                tst.Location = new Point((uic.Width - tst.Width) - adv.Width - 10, uic.Bottom + 10);
                tst.Anchor = AnchorStyles.Right | AnchorStyles.Top;
                tst.Click += new EventHandler(Test_Clicked);
                tst.Parent = this;
    
            }
    
            private void DataBaseDialog_Load(object sender, EventArgs e)
            {
    
            }
    
            void Test_Clicked(object sender, EventArgs e)
            {
            }
    
            void Advanced_Click(object sender, EventArgs e)
            {
                Form frm = new Form();
    
                PropertyGrid pg = new PropertyGrid();
                pg.SelectedObject = cp;
                pg.Dock = DockStyle.Fill;
                pg.Parent = frm;
    
                frm.ShowDialog();
            }
        }
    }
    

    LG

    Claudia

    Dienstag, 20. August 2013 09:49
  • Hi Claudia,

    schau mal ob es Warnhinweise beim compilieren gibt.

    Wenn ich z.B. als Ziel Framwork 4.0 für Clients verwende. Bekommen ich zusätzlich noch den Warnhinweis, das ich das Framework ändern muss.  

    Und mal schauen ob das Programm auch als x86 compiliert wird, kann auch nicht schaden.

    MFG
    Björn

    Dienstag, 20. August 2013 10:58
  • Hallo Björn,

    es lag am Ziel Framework. Ich hatte das 4.0 für Clients. Nach Änderung funktioniert jetzt alles.

    Danke.

    LG

    Claudia

    Dienstag, 20. August 2013 11:05
  • Wir haben etwas aneinander vorbei geschrieben.

    Palin hat den Fehler nun vor mir entdeckt. Bei mir wurden die Klassen lediglich unter .NET 4.5 gefunden !?
    Bei allen anderen gab es Fehler.

    Beim Verlinken auf die DLL's von Codeproject konnte ich jedoch selbst .NET 2.0 ohne Warnungen/Fehler benutzen.


    <Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 20. August 2013 11:10
    Moderator