Stu*_*ser 4 nuspec octopus-deploy octopack
在使用OctoPack提到
.nuspec文件描述了NuGet包的内容.如果您没有提供,OctoPack会通过猜测项目中的某些设置自动创建一个.
我运行msbuild并/p:RunOctoPack=true设置了标志,并希望在项目目录中看到.nuspec文件,但它不在项目目录或/ bin下的输出目录中.
在什么时候生成.nuspec?如果没有提供覆盖.nuspec,它是否生成并保存或是否在运行中?
通常最好在项目的根目录中创建安装了OctoPack的NuSpec文件.要从命令行创建NuSpec文件,只需使用nuget.exe:
C:\temp\nuget.exe spec c:\path-to-project\solution\project\myproj.csproj
Run Code Online (Sandbox Code Playgroud)
这将在文件夹中创建myproj.csproj.nuspec文件.您可以随意编辑模板.确保在Visual Studio中添加NuSpec,以便在TFS(或您使用的任何CI)进行构建时,会复制NuSpec,并且当OctoPack被触发时,NuSpec已经存在.
也就是说,如果没有找到它,OctoPack会动态生成NuSpec.您可以在GitHub上查看源代码(第234行定义方法GetOrCreateNuSpecFile()):
就像我之前说的那样,最好在您的解决方案/项目中创建NuSpec文件.对于不是Visual Studio中的Web应用程序的项目,在为不同项目(服务,数据库脚本,MSI,SSRS等等)优化包时,还有一些工作要做.