我正在尝试使用脚本部署到NuGet.我有以下命令进行实际部署: nuget pack MyProjection.csproj -Build -Properties Configuration=Release 根据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>