我有一些NuGet包,包含DLL文件和Web相关文件,如JavaScript,样式表和图像文件。我想创建只将web相关文件安装到web项目的包(包括ASP.NET和ASP.NET MVC项目)。最简单的方法是什么?
谢谢,
PS。我认为应该可以通过Powershell脚本。但我认为,这对我来说非常复杂。
答案 0 :(得分:12)
您可能想要使用Nuget Package Explorer。它允许您在没有命令行的情况下创建包,并仅将所需文件添加到您的包中(加上一些简单的配置)。
如果我理解正确的话,你有时候只想安装DLL,有时候还要安装DLL和web内容。在这种情况下,最好为DLL创建一个单独的包,然后另一个包含web内容的包,它将DLL包指定为Web包的依赖项。这样,它会在您添加Web内容时自动添加DLL。
答案 1 :(得分:1)
我有一个解决方案,我在几个项目中使用的工作非常好。
创建第二个.Assets项目,其中包含Assets,并将所有文件作为项目中的链接引用,并将它们标记为嵌入资源。
YourProject.Assets - 包含css / html / js / cshtml文件 YourProject - 作为链接包含的文件,标记为嵌入式资源
然后包含我的EmbeddedResourceVirtualPathProvider Nuget包,它将从YourProject.dll中的嵌入式资源为您提供资源。
如果有人想要覆盖资源,他们可以安装.Assets nuget包,它们将被包含在他们的项目中并提供服务。