In dem Team, in dem ich arbeite, haben wir ein großes Produkt mit vielen WCF-Webdiensten und einigen Websites, die die Dienste nutzen. Wir sind gerade im Begriff, auf VS 2010 zu aktualisieren, und ich schaue, ob wir anfangen sollten, die neuen Konfigurations-Transformationsfunktionen in VS 2010 zu verwenden.Wie wird die Visual Studio 2010-Konfigurationsumwandlung beim lokalen Ausführen/Debuggen verwendet?
Wir haben mehrere verschiedene Umgebungen, die verschiedene web.configs benötigen (Datenbankverbindungszeichenfolgen, WCF Adressen usw.). Oft ist es beim Debuggen von etwas hochaktuellem wie dem Web-Frontend nützlich, es so zu konfigurieren, dass es direkt mit dem TEST- oder QA-Backend/den Datenbanken in Verbindung tritt. Auf dem lokalen Rechner jedes Entwicklers wird der IIS direkt auf den Quellordner jedes WCF/Web-Projekts konfiguriert, und bei der lokalen Ausführung ist es eine einfache Angelegenheit von Strg-Umschalt-B oder F5, um etwas zu debuggen. Man würde denken, dass es möglich wäre,/F5 mit TEST oder QA als Konfigurationsmodus aufzubauen und die TEST/QA-Konfiguration zu bekommen, aber ich sehe nicht wie. Wird es nicht unterstützt, oder müssen wir vielleicht ändern, wie wir mit Dingen arbeiten?
Unsere andere Möglichkeit besteht darin, stattdessen ein einfaches Ersetzenskript als Prebuild-Ereignis zu verwenden, das web.config je nach Konfigurationsmodus aus einer Vorlage und einer Schlüsseldatei erstellt. Mit dieser Methode würden Sie TEST-Konfiguration erhalten, wenn Sie in TEST usw. kompilieren, aber es fühlt sich ein wenig schlecht an, unsere eigene Lösung zu rollen, wenn eine Funktion in Visual Studio integriert ist.
Ive markiert diese Antwort als akzeptiert, da es scheint, als ob es das Problem löst (auch wenn ich es nicht getestet habe). Vielen Dank. Am Ende gingen wir mit einem benutzerdefinierten Postbuild-Event, wie ich es im letzten Absatz geschrieben habe, ein kleines Powershell-Skript, das web.config aus einer Vorlage erstellt, die den Konfigurationsnamen verwendet, um zu entscheiden, wie ersetzt werden soll. – viblo
@ viblo Danke. Ich bin mir nicht sicher, ob ich den Ansatz verwenden würde, den ich skizziert habe, da es eine Art von Haschisch ist, aber ich war mehr neugierig darauf, ob es getan werden könnte oder nicht. Wie auch immer, gute Frage. – rsbarro
@rsbarro zuerst einmal vielen Dank für Ihre saubere Antwort. Allerdings habe ich immer noch das gleiche Problem "Datei in Verwendung Fehler".Auch ich habe hinzugefügt. Hast du einen anderen Vorschlag? Danke –
curiousBoy