当前位置 : 主页 > 网络安全 > 测试自动化 >

构建自动化 – 指定-Build时NuGet包忽略-Prop参数

来源:互联网 收集:自由互联 发布时间:2021-06-19
我正在尝试使用脚本部署到NuGet.我有以下命令进行实际部署: nuget pack MyProjection.csproj -Build -Properties Configuration=Release 根据NuGet网站上提供的示例,这是正确的命令行.我注意到一些例子说
我正在尝试使用脚本部署到NuGet.我有以下命令进行实际部署:

nuget pack MyProjection.csproj -Build -Properties Configuration=Release

根据NuGet网站上提供的示例,这是正确的命令行.我注意到一些例子说-Prop而不是-Properties,但我认为这不重要.

但是,NuGet输出:

Attempting to build package from 'MyProject.csproj'.
Building project for target framework '.NETFramework,Version=v4.0'.
Packing files from 'C:\Users\...\MyProjection\bin\Debug'.
Using 'MyProject.nuspec' for metadata.
Successfully created package 'C:\Users\...\MyProject\MyProject.2.2.0.0.nupkg'.

请注意,它是在Debug文件夹而不是Release文件夹中打包文件!

如果我删除-Build设置,它会像发布的那样抓取Release中的文件.第一个问题是:我是否一直在发布我的项目的调试版本?第二个问题是:我如何一起使用这两个命令参数?

如果必须,我将使用MSBuild构建项目.

打包项目时,nuget将使用当前项目设置,忽略从命令行传递的Configuration选项.例如,对于basepath参数也是如此.

如果您将默认配置更改为release,nuget将使用发布位构建您的包.在.csproj中查找以下内容:

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>

并将其更改为:

<PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Release</Configuration>
网友评论