Asp.net core 如何在ASP.NET Core中运行基于解决方案配置的脚本
在我的Asp.net core 如何在ASP.NET Core中运行基于解决方案配置的脚本,asp.net-core,asp.net-core-mvc,.net-core,project.json,Asp.net Core,Asp.net Core Mvc,.net Core,Project.json,在我的project.json文件中有以下脚本,我正在使用它将类库项目构建到一个NuGet包中。我不想构建任何调试NuGet包。如何将此脚本限制为仅在解决方案配置设置为发布模式时运行,以加快调试模式下的构建时间 或者,出于好奇,我如何将解决方案配置传递到下面的命令中,以便不硬编码“Release” "scripts": { "postcompile": [ "dotnet pack --no-build --configuration Release" ] } 您可以使用%co
project.json
文件中有以下脚本,我正在使用它将类库项目构建到一个NuGet包中。我不想构建任何调试NuGet包。如何将此脚本限制为仅在解决方案配置设置为发布模式时运行,以加快调试模式下的构建时间
或者,出于好奇,我如何将解决方案配置传递到下面的命令中,以便不硬编码“Release”
"scripts": {
"postcompile": [
"dotnet pack --no-build --configuration Release"
]
}
您可以使用
%compile:Configuration%
获取当前配置。是可用于预编译
和后编译
脚本的变量列表。要根据配置实际限制nuget包的创建,需要将其传递到脚本中,如我存储在项目根目录下的makeNuget.cmd文件:
@Echo off
IF "%1" == "%2" dotnet pack --no-build --configuration %1 -o ../%3
然后,在我的project.json中,我有:
"scripts": {
"postcompile": [
"makeNuget.cmd %compile:Configuration% Release \\packages\\%project:Name%"
]
}
这将创建nuget包并将其放置在“我的解决方案级别的包”/[project name]文件夹中(尽管您可能需要根据您的解决方案布局调整-o参数中的相对文件夹引用)。另外,您不需要.cmd,默认情况下,windows会推断.cmd,其他环境会推断.sh
我还将目标配置设置为一个参数,因此脚本是通用的,可以使用,而不管我选择的配置名称是“release”配置。在哪里可以找到这些脚本事件可用的完整变量列表?