Ich muss alle meine Projekte zwingen, dll's
zu verwenden, die an einem gemeinsamen Speicherort gespeichert sind. Ich beginne mit dem Refactoring bestehender Projekte, um auf den dll's
Quellordner meiner Präferenz zu verweisen. Also entschied ich mich, einen programmatischen Weg zu versuchen, diese Referenzen zu ändern.DLL-Referenzen in Projektdatei programmatisch ändern
las ich dll
Hinweise, wie folgend:
XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003";
XDocument projDefinition = XDocument.Load(filePath);
IEnumerable<string> references = projDefinition
.Element(msbuild + "Project")
.Elements(msbuild + "ItemGroup")
.Elements(msbuild + "Reference")
.Elements(msbuild + "HintPath")
.Select(refElem => refElem.Value);
Der nächste Schritt ist anhand zu ändern HintPath
basierend auf Referenznamen. Ich plane, ein Wörterbuch von Verweisen zu erstellen und dann durchlaufen sie, um jede der Projektdateien zu aktualisieren.
Allerdings kann ich keine solide Art zu lesen und zu ändern HintPath
basierend auf Reference
innerhalb csproj
finden.
Schauen Sie sich diese Antwort auf eine ähnliche Frage: http://stackoverflow.com/a/35233082/33082 –
Die Antwort zeigt genau das, was ich tue, und es Dumps die Referenz, die zu einer txt gelesen wurde. Nicht sehr nützlich. Was ich brauche, ist in der Lage, HintPath basierend auf der Referenz zu modifizieren. – eYe