如何创建只向基于web的项目添加JavaScript/CSS的NuGet包?

如何创建只向基于web的项目添加JavaScript/CSS的NuGet包?,nuget,Nuget,我有一些NuGet包,它包含DLL文件和与web相关的文件,如JavaScript、样式表和图像文件。我想创建只将web相关文件安装到web项目的包(包括ASP.NET和ASP.NET MVC项目)。最简单的方法是什么 谢谢, 另外,我认为应该可以通过Powershell脚本实现。但我认为,这对我来说相当复杂。您可能想使用。它允许您在不使用命令行的情况下创建包,并且只向包中添加所需的文件(加上一些简单的配置) 如果我理解正确的话,您有时只想安装DLL,有时还想安装DLL和web内容。在这种情况下

我有一些NuGet包,它包含DLL文件和与web相关的文件,如JavaScript、样式表和图像文件。我想创建只将web相关文件安装到web项目的包(包括ASP.NET和ASP.NET MVC项目)。最简单的方法是什么

谢谢,


另外,我认为应该可以通过Powershell脚本实现。但我认为,这对我来说相当复杂。

您可能想使用。它允许您在不使用命令行的情况下创建包,并且只向包中添加所需的文件(加上一些简单的配置)

如果我理解正确的话,您有时只想安装DLL,有时还想安装DLL和web内容。在这种情况下,最好为DLL创建一个单独的包,然后创建另一个包含web内容的包,该web内容将DLL包指定为web包的依赖项。这样,当您添加Web内容时,它将自动添加DLL


这可能会对您有所帮助。

我有一个解决方案,我正在几个项目中使用,效果非常好

创建第二个.Assets项目,其中包含这些资源,并将所有文件作为链接引用到项目中,并将它们标记为嵌入资源

资产-包含css/html/js/cshtml文件 YourProject-文件包含为链接,标记为嵌入资源

然后包括我的Nuget包,它将为您提供YourProject.dll中嵌入资源中的资产


如果有人想要覆盖资源,他们可以安装.Assets nuget包,这些资源将包含在他们的项目中并提供服务。

为什么不将dll包含在web项目中?你在包装什么?有两个包有意义吗?请仔细阅读我的问题。我只需要安装DLL到其他类库。另一方面,我需要将DLL和web相关文件(包括JS和CSS)安装到web项目中,如ASP.NET网站或ASP.NET MVC。您可能需要学习一些PowerShell。目前,我决定将DLL移动到主包中,并使用另一个包仅用于web相关文件。然而,这种方法并不能解决长期开发的问题。在NuGet包中部署JavaScript或图像文件不是正常的方法,因为web服务器无法优化此类资源。但这种解决方案可能适用于某些不想向已部署的项目(而不是dll)添加任何其他文件的包。