Ich bin ein NuGet-Paket erstellen, die mehrere XML-Dateien hinzugefügt oder ändert. Ich möchte, dass das Nuget-Paket die XML-Dateien hinzufügt und anschließend ändert, sodass der Benutzer nichts tun muss, um die Datei hinzuzufügen, wenn sie nicht existiert. Ich muss die XML-Datei ändern, um sie für die spezifische Anwendung anzupassen.Wie fügen Sie eine XML-Datei zum Ordner App_Data einer Website und dann ändern Sie sie mit NuGet
Der Code, den ich in der .nuspec Datei verwende ist:
<files>
<file src="web.config.*.xdt" target="content"/>
<file src="App_Data\*.xml" target="content\App_Data"/>
<file src="App_Data\*.xml.*.xdt" target="content\App_Data"/>
<file src="favicon.ico" target="content\favicon.ico"/>
</files>
Der Code mit der Datei hinzufügen, wenn sie nicht existieren, oder sie ändern, wenn sie es tun, aber es wird sie nicht hinzufügen und dann modifiziere sie.
Jede Datei, die ich hinzufügen möchte, wird dann als zugehörige .install.xml.xdt-Datei geändert.
Ich verwende einen benutzerdefinierten RoleManager. Die XML-Datei Inhalte sind:
<?xml version="1.0" encoding="utf-8" ?>
<roleManager />
Die xml.install Datei enthält:
<?xml version="1.0" encoding="utf-8" ?>
<roleManager xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"
xdt:Transform = "SetAttributes(defaultProvider,enabled,cacheRolesInCookie,cookieProtection)"
defaultProvider="RoleProvider"
enabled="true"
cacheRolesInCookie="true"
cookieProtection="All" >
<providers xdt:Transform="Insert" >
<clear />
<add name="RoleProvider" type="Library.RoleProvider" applicationName="$RootNamespace$" />
</providers>
</roleManager>
Gibt es eine Möglichkeit zu erreichen, was ich tun will?
Ich fand die Antwort auf meine eigene Frage dazu. Die folgende Zeile entfernt die Abhängigkeiten: uninstall-package library -removedependencies –