none
Kann die angegebene Datei nicht finden!?! RRS feed

  • Frage

  • Hallo Zusammen.

    Ich habe folgendes Problem:

    Ich habe mein Windows Forms Anwendung zerteilt und aus allen Formen eine Dll generiert. Das klappt auch ganz gut doch(alle Dll als Lokale Kopie) doch jetzt wollte ich alle DLL´s auf einen Server legen um sie zentral von mehreren Leuten holen zu lassen als erstes sagte mit Visual Studio ich müsste alle Dll´s mit starken Namen versehen das ich auch gemacht habe und während des Programmierens ist das auch kein Problen er erkennt alle importierten Namespaces und gibt auch keine Fehler aus nur wenn ich das Programm starten will erklärt mir auf einmal mein Anwendung das es die DLL Datei nicht finden würde. Und er die Assembly nicht findet.... WIESO NICHT!?!

    Das ist der Aufruf in Meiner MAIN das als Windows Forms Projekt angelegt ist:

      Dim xFrm As frm_Hauptmenue_FM_Planer_Class.frm_Hauptmenue_FM_Planer
    
      xFrm = New frm_Hauptmenue_FM_Planer_Class.frm_Hauptmenue_FM_Planer
    
      xFrm.Show()

    Den Fehler wirft Visual Studio dann beim Debuggen aus:

    Die Datei oder Assembly "frm_Hauptmenue_FM_Planer_Class, Version=1.0.0.0, Culture=neutral, PublicKeyToken=3b397be471053734" oder eine Abhängigkeit davon wurde nicht gefunden. Das System kann die angegebene Datei nicht finden.

     

    Die Verweise habe ich mit UNC-Pfad angabe gemacht und auch ein Standard Veweispfad eingegeben.

    Ich hoffe jemand kann mir helfen bin etwas am verzweifeln....

    mfg Ernst


    Planung ist der Ersatz des Zufalls durch den Irrtum!
    Mittwoch, 31. August 2011 07:07

Antworten

  • Hallo Ernst,

    es macht keinen Sinn, zentrale Assemblies in einem UNC Pfad abzulegen. Wenn Du die Assemblies in mehreren Projekten haben willst, mach das über eine Sourcecodeverwaltung und stell die Sachen darüber bereit. Auf den Zielrechnern kann man diese dann ins eigene Projekt einbinden und hier ebenfalls die Einstellung "lokale Kopie" anwenden, damit das reibungslos funktioniert.

    ---

    Welche .NET Version verwendest Du eigentlich?

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort vorgeschlagen Elmar BoyeEditor Mittwoch, 31. August 2011 20:25
    • Als Antwort markiert Zillio Donnerstag, 1. September 2011 05:24
    Mittwoch, 31. August 2011 10:46
    Moderator

Alle Antworten

  • Hallo Ernst,

    es macht keinen Sinn, zentrale Assemblies in einem UNC Pfad abzulegen. Wenn Du die Assemblies in mehreren Projekten haben willst, mach das über eine Sourcecodeverwaltung und stell die Sachen darüber bereit. Auf den Zielrechnern kann man diese dann ins eigene Projekt einbinden und hier ebenfalls die Einstellung "lokale Kopie" anwenden, damit das reibungslos funktioniert.

    ---

    Welche .NET Version verwendest Du eigentlich?

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort vorgeschlagen Elmar BoyeEditor Mittwoch, 31. August 2011 20:25
    • Als Antwort markiert Zillio Donnerstag, 1. September 2011 05:24
    Mittwoch, 31. August 2011 10:46
    Moderator
  • Hallo Stefan,

    Ich benutze Visual Studio 2010(Visual Basic).

    Meine Idee dei Assemblys auf einen UNC zu legen war folgender um z.B. Updates schöner einzuspielen muss ja nur die Dll auswechseln die ich geändert habe und wollte den Plattenspeicher verkleinern der auf dem Rechner benutz werden sollte was heisst ein kleines Main geschrieben das gestartet wird und den Rest der Formen,  Dialogboxen und Funktionen werden dann vom Server geholt wenn der Anwender sie braucht.. Grund auch das ich mehrere Verschiedene User habe die nicht alle Formen benötigen....

    Aber ich habe jetzt ein bisschen im Internet gestöbert und die Antwort die meistes fällt ist entweder ins Work verzeichnis kopieren oder mit der PATH Variable versuchen den DLL pfad neu zu setzten zweiteres will ich vermeiden da ich unseren It´lern in der Firma nicht ins Handwerk pfuschen will :-)

    mfg Ernst 


    Planung ist der Ersatz des Zufalls durch den Irrtum!
    Mittwoch, 31. August 2011 10:59
  • Hallo Ernst,

    ich wüsste nicht, dass so etwas funktioniert. Was man machen kann, ist, eine separate Update Anwendung zu schreiben, die dann jeweils beim Programmstart prüft, ob sich auf dem Server neuere Dateien befinden und falls ja, diese ins Verzeichnis der eigentlichen Anwendung zu schreiben.

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Mittwoch, 31. August 2011 11:07
    Moderator
  • Hallo Stefan,

    Erde es wohl oder übel nicht vermeiden können als mit Lokalen Kopien zu arbeiten und dann über Update alle DLL´s zu vergleichen...

    Schade eigendlich aber versuche das mal....

    Aber Danke für deine Hilfe.

    mfg Ernst


    Planung ist der Ersatz des Zufalls durch den Irrtum!
    Mittwoch, 31. August 2011 11:10