【发布时间】:2020-08-20 14:37:00
【问题描述】:
我创建了 npm 包,其中包含 js 和 css 文件,类似于 bootstrap 作为文件夹结构。我想为 .Net mvc Web 应用程序提供相同的包,所以我创建了 .nuspec 文件,从构建输出中指定 files 并创建了 Nuget 包。 Nuget 和 NPM 包都运行良好。
现在我想为 dot net core 项目发布相同的包。当我在 dot net core web 应用程序中安装相同的 Nuget 包时,它安装成功,但没有将静态文件复制到项目文件夹中。
如何为 dot net core 应用程序创建/修复静态文件的 nugget 包。我不想创建 .net 核心项目来发送静态文件。如果我也可以为 dot net core 应用程序添加一些配置文件,例如 .nuspec,那就太好了。
我已经搜索但无法获得任何帮助,因此任何建议或参考都会被应用。
myproject.nuspec
<?xml version="1.0"?>
<package >
<metadata>
<id>MyPackage</id>
<version>1.0.1</version>
<title>MyProject</title>
<authors>Me</authors>
<owners>Me</owners>
<projectUrl>some url...</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>This is similar to bootstrap</description>
<copyright>Copyright 2020</copyright>
<tags></tags>
<dependencies>
<dependency id="jQuery" version="[3.0.0, 4.0.0)" />
</dependencies>
</metadata>
<files>
<file src="dist\css\**\*.*" target="content\Content\css" />
<file src="dist\fonts\**\*.*" target="content\Content\fonts" />
<file src="dist\js\mypackage.js" target="content\Scripts" />
<file src="dist\images\**\*.*" target="content\Content\Images" />
</files>
</package>
更新:我尝试了@thatguy 下面给出的解决方案,它确实将文件复制到了适当的文件夹中。我可以在 Visual Studio 中看到这些。但是新创建的文件和文件夹上有箭头符号,而其他文件没有。我尝试在页面代码中包含 css,但它没有找到新创建的文件。
这个箭头是什么意思,为什么找不到文件?
【问题讨论】:
-
另外,您应该保持
<package_id>.props的名称与package_id相同。 -
嗨 Dipak,有关于这个问题的最新消息吗?你能告诉我们关于这个问题的任何进展吗?如果您愿意,我们可以为您提供任何支持。
-
@PerryQian-MSFT 它按预期工作。只是一个问题是它在 .NET MVC 项目以及 .Net Core 中创建文件。有什么方法可以将其设置为仅 .NET 核心项目?
-
如果你只想在
net core项目中复制这些文件,你应该放弃在nupkg中使用content节点。安装包时它会自动将文件复制到NET Framework主项目中
标签: asp.net-mvc visual-studio .net-core nuget nuget-package