OctoPack何时创建nuspec文件?

4
使用 OctoPack 中提到:

.nuspec 文件描述了您的 NuGet 包的内容。如果您没有提供 .nuspec 文件,OctoPack 将自动创建一个文件,并从您的项目中猜测一些设置。

我已经使用 /p:RunOctoPack=true 标志运行了 msbuild,但是我期望在项目目录下看到 .nuspec 文件,但是它既不在项目目录下,也不在 /bin 下的输出目录中。
在什么时候生成 .nuspec 文件?它是生成并保存的,还是在没有提供覆盖的 .nuspec 文件时即时生成的?
2个回答

7

通常最好在安装了OctoPack的项目根目录中创建NuSpec文件。要从命令行创建NuSpec文件,只需使用nuget.exe:

C:\temp\nuget.exe spec c:\path-to-project\solution\project\myproj.csproj

这将在文件夹中创建一个名为myproj.csproj.nuspec的文件。您可以随意编辑模板。确保在Visual Studio中添加NuSpec,以便在TFS(或任何CI)构建时复制NuSpec,并在触发OctoPack时已经存在NuSpec。

话虽如此,如果OctoPack找不到NuSpec,则会即兴生成一个NuSpec。您可以在GitHub上查看源代码(第234行定义了GetOrCreateNuSpecFile()方法):

https://github.com/OctopusDeploy/OctoPack/blob/4b55bf0baa4d96cb7c2093cb234babc19a7d66f4/source/OctoPack.Tasks/CreateOctoPackPackage.cs#L234

就像我之前所说的,最好在您的解决方案/项目中创建NuSpec文件。对于不是Visual Studio的Web应用程序项目,需要进行一些优化工作以适应不同的项目(服务、数据库脚本、MSIs、SSRS等等)。


-1

对我来说,它是在此目录中自动生成的

D:\TeamCity\buildAgent\work\a2ef8561a97cb751\obj\octopacking\MyProject.nuspec


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接