Ich habe ein NuGet-Paket, das sowohl DLL-Dateien als auch webbezogene Dateien wie JavaScript, Stylesheet und Bilddateien enthält. Ich möchte ein Paket erstellen, das nur webbezogene Dateien im Webprojekt installiert (einschließlich ASP.NET und ASP.NET MVC-Projekt). Was ist der einfachste Weg, das zu tun?
Danke,
PS. Ich denke, es sollte über Powershell-Skript möglich sein. Aber ich denke, es ist ziemlich komplex für mich.
Wahrscheinlich möchten Sie den Nuget-Paket-Explorer verwenden. Es ermöglicht Ihnen, ein Paket ohne die Befehlszeile zu erstellen und nur die erforderlichen Dateien zu Ihrem Paket hinzufügen (plus einige einfache Konfiguration).
Wenn ich Sie richtig verstehe, möchten Sie manchmal nur die DLL und manchmal die DLL und das Web-Zeug installieren. In diesem Fall ist es am besten, ein separates Paket für die DLL zu erstellen, dann ein anderes Paket mit dem Web-Stuff, das das DLL-Paket als eine Abhängigkeit des Web-Pakets angibt. Auf diese Weise wird automatisch die DLL hinzugefügt, wenn Sie den Webinhalt hinzufügen.
Hier ist ein Tutorial zum Nuget Package Explorer , das Ihnen wahrscheinlich helfen wird.
Ich habe eine Lösung, die ich in mehreren Projekten verwende, die ziemlich gut funktioniert.
Erstellen Sie ein zweites .Assets-Projekt, das die Assets enthält, und verweisen Sie auf alle Dateien als Links in Ihrem Projekt, und kennzeichnen Sie sie als eingebettete Ressourcen.
YourProject.Assets - enthält die css / html / js / cshtml-Dateien YourProject - Dateien, die als Links eingebunden sind und als Eingebettete Ressource gekennzeichnet sind
Fügen Sie dann mein EmbeddedResourceVirtualPathProvider Nuget-Paket hinzu und es wird Ihnen Assets von den Eingebetteten Ressourcen in YourProject.dll bereitstellen.
Wenn jemand die Ressourcen überschreiben will, kann er das .Assets nuget-Paket installieren und sie werden in ihr Projekt aufgenommen und bedient.
Tags und Links nuget