Ändern Assembly-Version und Referenzen (.NET)
Ich habe eine Anwendung exe plus 3 referenzierten Assemblys in einem Ordner. Zusammengestellt in VS2010, CLR 4.0.
Möchte ich ändern Sie die version aller 4 Baugruppen zu entsprechen (1.0.0.0) und auch ändern Sie die Referenz Abschnitt in den einzelnen Baugruppen entsprechend der neuen Versionsnummer.
Ist möglich, dass nach der Anwendung war bereits bauen außerhalb der IDE?
EDIT:
Hier ist das Szenario: Unser dlls sind oft im GAC installiert, die mit einer bestimmten version. Die version wird nur erhöht, wenn kommerzielle Produkte freigegeben werden. Wir haben viele selbst geschriebene tools zur Entwicklung, dass einige dieser dlls im GAC installiert. Die Werkzeuge bauen, die an einem bestimmten Punkt und nicht neu erstellen, wenn der code geändert wurde. Die CLR lieber zum laden der assembly aus dem GAC, obwohl statt der lokalen Versammlungen, so viele Zeiten, die unsere tools verwenden Sie nicht den Versammlungen, wurden Sie bauen mit. Das ist ein riesiges problem und ich weiß nicht, wie es gelöst werden könnte, sonst.
- Sind die referenzierten Assemblys von Ihnen oder von 3rd party?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Reflektor und seine plugin -Reflexil; natürlich, wenn die assemblies signiert sind funktioniert Sie nicht mehr zusammen (eigentlich finde ich Sie nicht?). Ansonsten brauchst du nicht einmal zu ändern, die Referenzen, die ich denke.
Edit: also, Marc hat absolut Recht; kann mir nicht vorstellen, welches Szenario würde unbedingt verlangen, dass Sie dies tun, ist es ganz hackish.
Die einfachste Möglichkeit ist, einfach neu erstellen und erneut bereitstellen. Es gibt Dinge, die Sie tun können, in der config (Laufzeit/assemblyBinding/dependentAssembly/bindingRedirect), aber das scheint mir übertrieben hier, da ich nicht sicher bin, wie würden Sie gehen über die änderung der Versionsnummern der assemblies ohne Umbau, vor allem wenn Sie signiert sind/strong-named (der Laufzeit erkennen evil-doers).
Klingt das wie Arbeit für mich...
Wenn die dlls sind bei dir, einfach neu zu erstellen, mit der richtigen version von meta. Wenn Sie nicht deine, vielleicht nicht Affe mit Ihnen.
Klingt wie Sie brauchen eine publisher policy oder eine bindungsumleitung. Dadurch wird Ihr Assemblys verwenden Sie immer die neueste version, oder verwenden Sie eine bestimmte version einer referenzierten assembly.