Ich verwende SVN, um ein ASP.NET-Web-Projekt zu versionieren, an dem ich arbeite. Ich habe kürzlich beschlossen, eine Version der veröffentlichten Version der Site zu versionieren. Ich übertrage diese zusammen mit markierten Versionsversionen des Codes im Stammverzeichnis der Zweigstelle in das Repository. Dies erweist sich als nützlich, da ich mithilfe von SVN auf meinem Server bereitstellen kann.Problem bei der Verwendung von SVN mit VS.NET zur Version kompilierter Code - .svn-Ordner Konflikt mit/bin
Problem, das mir gegenübersteht, ist, dass ich einige Dateien im Ordner/bin meines Projekts (DLLs ohne externe Referenzen), die einen Ordner /bin/.svn erstellt haben, versionieren musste. Das Problem besteht darin, dass der Befehl Veröffentlichen von VS.NET darauf besteht, die .svn-Datei aus dem Entwicklungszweig in den Ordner/bin des Ausgabeordners zu kopieren. Dies "schaltet" im Grunde die Binärdateien dahin, um auf den Dev-Zweig zu zeigen. Das Ergebnis ist, dass der Inhalt des/bin-Ordners niemals tatsächlich in den kompilierten Bin-Ordner übernommen wird, da die Arbeitskopie auf einen anderen Teil des Repositorys verweist.
Gibt es eine Möglichkeit, Visual Studio zu zwingen, den .svn-Ordner beim Veröffentlichen zu ignorieren? Gibt es alternativ eine andere Möglichkeit, die Aufnahme statischer DLLs in ein Projekt zu übernehmen, ohne sie in den Ordner bin zu verschieben, so dass das Verzeichnis/bin von SVN ausgeschlossen werden kann (wie es sein sollte) (den GAC nicht verwenden)?
Können Sie einige Beispiele von Svn bin Probleme geben? Ich hatte ein Problem, wo ein Commit dlls ohne irgendeine Bestätigung löschte. – Steve
Das größte Problem sind einfach die Konflikte, die es erzeugen wird. Jeder einzelne Build einer Arbeitskopie ändert die .dlls in/bin. Ein SVN-Update führt jedes Mal zu einem Konflikt, der gelöst werden muss. Außerdem können Prozesse Ihre Arbeitskopie sperren, so dass sie beim Update nicht überschrieben werden können. Es ist nur ein riesiger Kopfschmerz. – womp