none
VS tries to resolve references to assemblies, but creates a mess...

    Frage

  • Hi, everyone,

    we have a problem with vieual studio we can't find any solution for. Maybe someone here can help?

    We have a large solution on which several developers are working. We recently switched to referncing needed assemblies in a folder \Lib parallel to our solution folder, meaning one level up higher than the .sln file. the projects of the solution are located in folders one level deeper than the .sln file.

    Sometimes VS seems to relocate the references, sometimes even in \bin\debug below the project and creates a real mess with that behavior. We think that may happen sometimes when someone opens the solution. But we have no idea when exactly and why this happens. This creates a real mess of unreliable projects referencing assemblies just "somewhere".

    So the question is: Why does VS do that instead of just taking the reference of the assembly as defined in the project file and can we configure VS NOT to do that? I'd rather see VS issuing error messages then trying to find my assemblies just "somewhere"...

    Thanks in advance for any help!

    Soenke Pries

    Montag, 29. August 2016 13:05

Alle Antworten

  • Hi,
    eine einfache Lösung ist ein XCopy im PreBuild (Einstellung im VS). Damit kann man beliebig die Positionen der weiteren sonstigen dll selbst im Projekt integrieren.

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Warum Groß- und Kleinschreibung wichtig ist:
    Der Gefangene floh.
    Der gefangene Floh.

    Montag, 29. August 2016 14:58
  • Danke für die schnelle Antwort! 

    Aber entweder meine Frage war unklar gestellt oder ich verstehe die Antwort noch nicht. ;-)

    Das Problem ist nicht, die abhängigen Assemblies irgendwo hin zu kopieren. Das kriegen wir schon hin... Das Problem ist, dass VS offensichtlich den angegebenen Pfad in der .csproj ignoriert und selbstständig mit einer Suche nach solchen referenzierten Assemblies beginnt, und diese bei uns zB in irgendeinem \Bin\Debug unterhalb der Solution findet, aber in einer falschen Version, da die Assemblies in \..\Lib (parallel zur Solution) mittlerweile geändert und erneuert wurden.

    Prinzipiell möchte ich VS dazu bringen, nicht selbstständig "irgendwo" nach DLLs zu suchen, sondern nur das zu nehmen, was man ihm gegeben hat, oder Fehlermeldungen ("Kann referenzierte Assembly XXX nicht finden." oder so) auszugeben. 

    Dienstag, 30. August 2016 10:05
  • Hi,
    ich kann das Problem nicht reproduzieren. Zeig mal den HintPath.

    --
    Viele Grüsse
    Peter Fleischer (MVP, Partner)
    Meine Homepage mit Tipps und Tricks
    Warum Groß- und Kleinschreibung wichtig ist:
    Der Gefangene floh.
    Der gefangene Floh.

    Dienstag, 30. August 2016 13:33