Laden...

[erledigt] Beim Debuggen erscheint der Fehler: "The process cannot access the file..."

Erstellt von C4RL0 vor 11 Jahren Letzter Beitrag vor 11 Jahren 5.963 Views
C4RL0 Themenstarter:in
96 Beiträge seit 2012
vor 11 Jahren
[erledigt] Beim Debuggen erscheint der Fehler: "The process cannot access the file..."

Hallo zusammen,

es geht um "Visual C# 2010 Express". Wenn ich mein kleines Projekt debuggen möchte, also auf den grünen Pfeil klicke, erscheint folgende Meldung:

"Der Vorgang konnte nicht abgeschlossen werden. The Process cannot access the file because its being used by another process"

Ich habe im VS keinen Karteireiter mehr auf, alles gespeichert, keine Fehler, keine Warnungen, trotzdem kommt diese Meldung.

Starte ich VS neu, funktioniert der Debugger. Allerdings nur solange, bis ich eine Kleinigkeit im Code geändert habe (und wenn es nur eine Kommentarzeile ist), dann gehts wieder nicht und ich muss neu starten (manchmal zwei oder drei mal), damit ich debuggen kann.

Weiß jemand Abhilfe?

Hinweis von gfoidl vor 11 Jahren

Wenn die Fehlermeldung mittels [Tipp] Strg-C kopiert MessageBox-Inhalt direkt in den Beitrag kopiert wird, anstatt einen Screenshot anzuhängen, so können ähnliche Fehler über die Suche gefunden werden.


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

76 Beiträge seit 2008
vor 11 Jahren

Schau mal im Task-Manager, ob zu dem Zeitpunkt der Fehlermeldung deine ${Output}.(vshost.)exe zu finden ist.

Da wird wahrscheinlich das Problem liegen.
Es ist aber Möglich, dass es eine andere Datei ist, auf welche das Programm zugreifen möchte.

Dass er die Datei neuschreiben will, wenn du einen Code änderst - ist klar... Und wenn die Datei noch läuft und dies dann nicht geht - ist ebenfalls klar.
Wenn du F5 drückst und nach dem letzten Debugging kein Code verändert wurde, wird auch nicht neu kompiliert.

B
8 Beiträge seit 2012
vor 11 Jahren

Eventuell kannst du den Fehler umgehen, indem du den Hostingprozess deaktivierst.

Dazu gehst du im Menü unter Projekt -> Eigenschaften, dann links auf den "Debuggen"-Tab und dort ganz unten deaktivierst du die Option "Visual Studio-Hostingprozess aktivieren".

MfG

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo backslider,

davon rate ich aber ab. Siehe auch Hosting Process (vshost.exe)

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

C4RL0 Themenstarter:in
96 Beiträge seit 2012
vor 11 Jahren

Schau mal im Task-Manager, ob zu dem Zeitpunkt der Fehlermeldung deine ${Output}.(vshost.)exe zu finden ist. ....

Ja, von Dir genannte .exe ist aktiv, gestartet durch VS. Wenn ich sie kille, wird sie automatisch neu gestartet. Sie wird generell gestartet sobald ich das Projekt öffne.
Das ist allerdings auch bei anderen Projekten so, bei welchen ich nicht dieses Problem habe.


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo C4RL0,

Wenn ich sie kille, wird sie automatisch neu gestartet. Sie wird generell gestartet sobald ich das Projekt öffne.

Das ist das Standardverhalten - siehe auch obigen Link.

Greifst du auf sonst eine Datei zu, die von einem anderen Prozess (od. auch von VS) noch (exklusiv) geöffnet ist?

Sonst versuch mittels [Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden das Problem zu finden und zu beheben.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

C4RL0 Themenstarter:in
96 Beiträge seit 2012
vor 11 Jahren

...Greifst du auf sonst eine Datei zu, die von einem anderen Prozess (od. auch von VS) noch (exklusiv) geöffnet ist?...

Hi,

eigentlich nicht, es ist ein wirklich kleines Mini-Projekt mit nur 160 Codezeilen. Einziger Zugriff nach außen ist ein SQL-DB-Zugriff. Aber der wird ja beim Start nicht mal angestoßen und beschränkt sich auf das Lesen von Daten.
Zwei Grafiken für die Oberfläche sind eingebunden... das war es auch schon.

Ich werde den von Dir geposteten Link mal durchstöbern.


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

6.911 Beiträge seit 2009
vor 11 Jahren

Hallo C4RL0,

SQL-DB-Zugriff

Wird die Datenbank-Datei beim Server angefügt (zeig den Connection-String) od. ist im Server-Explorer in VS eine Verbindung zu dieser Datenbank offen?

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

1.029 Beiträge seit 2010
vor 11 Jahren

Hi,

ich hatte das auch mal ne Weile. Dabei hatte unser Admin FolderRedirections
eingerichtet, was auch meine Projekte betraf, welche somit auf einem Share lagen.

Ging bei mir nur weg, in dem ich alles wieder richtig lokal hatte, wozu auch Einstellungsdateien
zu VS gehörten.

LG
Achim

C4RL0 Themenstarter:in
96 Beiträge seit 2012
vor 11 Jahren

... (zeig den Connection-String) ...

Hier mal das wesentliche des Codes...

public partial class frmMain : Form
    {
        string strSQLConnection = "server=SV233A;" +
                        "Integrated Security=SSPI;" +
                        "database=dp_svdata;" +
                        "connection timeout=30";
        
        public frmMain()
        {
            InitializeComponent();
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.Application.Exit();
        }

        private void ReadDB(string strQuery)
        {
            SqlConnection myConnection = new SqlConnection(strSQLConnection);
            try
            {
                DeleteTextBoxes();
                SqlCommand myCommand = new SqlCommand(strQuery, myConnection);
                myConnection.Open();
                SqlDataReader dataReader = myCommand.ExecuteReader();
                if (dataReader.HasRows)
                {
                    while (dataReader.Read())
                    {
						//Code zum Daten Anzeigen
                    }
                }
                else
                {
                    this.txtProzessauftragsnummer.Text = "Keine Daten gefunden!";
                }
                dataReader.Close();
            }
            catch (Exception e)
            {
                this.txtProzessauftragsnummer.Text = e.ToString();
            }
            finally
            {
                myConnection.Close();
            }
        }
...

...Ging bei mir nur weg, in dem ich alles wieder richtig lokal hatte, wozu auch Einstellungsdateien...

Hallo Taipi,
Bei mir liegt alles auf Netzlaufwerken, allerdings betrifft das auch andere Projekte. Das Basisverzeichnis ist immer das selbe.


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."

C4RL0 Themenstarter:in
96 Beiträge seit 2012
vor 11 Jahren
Feedback


>

Hallo und danke für den Link,

die dahinter verborgene Info, bzw. die Info aus den darin wiederum verlinkten Beiträgen eregibt so langsam ein kompletteres Bild von der ganzen Angelegenheit.
Das Problem scheint es in mehreren Facetten zu geben: Beim Setup erstellen, beim Release erstellen oder eben wie in meinem Fall beim Debuggen.
Die Kombination aus diesen Erkenntnissen inspiriert zum Ausprobieren und Testen um die Antwort auf viele Fragen zu erarbeiten:

Welche Dateien kann man löschen? Welche werden neu erstellt? Wann werden sie erstellt? Welche werden als fehlend angemahnt? Usw, usw...

Und ich habe die Lösung (für meinen Fall) gefunden:
Das Löschen (erst VS schließen) der folgenden zwei Verzeichnisse schaffte Abhilfe vom Problem:

\Visual Studio\Projects\MEINPROJEKT\MEINPROJEKT\obj\x86\Debug \Visual Studio\Projects\MEINPROJEKT\MEINPROJEKT\bin\Debug

Beim nächsten Debuggen wurden die Verzeichnisse neu erstellt, und alles lief wieder wie es sollte.

In diesem Sinne danke ich allen Mitwirkenden recht herzlich!


Gruß
Carlo

"Palabras que no coinciden con hechos no valen nada."