9

文档似乎真的不完整。它只是说你可以使用你自己的 .nuspec 文件,但它没有提到你应该把它放在哪里,或者如何让 octopack 使用它。

http://docs.octopusdeploy.com/display/OD/Using+OctoPack

我尝试将 .nuspec 文件命名为与我的解决方案相同的名称,并将其放在同一目录中。那没有用。

我尝试修改 Octopack 生成的 .nuspec 文件,但每次运行时这些更改都会被覆盖。

我尝试的其他一切都只是在黑暗中拍摄。

有没有人让这个工作?

4

4 回答 4

10

如果您想使用自定义 nuspec 文件(不同于your.project.name.nuspec,有一个 msbuild 属性OctoPackNuSpecFileName,您可以通过它指定您的 nuspec 文件,如下所示:

msbuild yoursolution.sln /p:RunOctoPack=true p:OctoPackNuSpecFileName=Dev.nuspec
于 2015-03-19T12:03:36.330 回答
6

在 OctoPack 中使用自定义或条件 .nuspec 文件的另一种方法是将 PropertyGroup 添加到您的 .csproj 文件中,如下所示:

<PropertyGroup>
  <RunOctoPack>true</RunOctoPack>
</PropertyGroup>
<PropertyGroup>
  <OctoPackNuSpecFileName Condition="'$(Configuration)' == 'Release'">MyApp.nuspec</OctoPackNuSpecFileName>
  <OctoPackNuSpecFileName Condition="'$(Configuration)' != 'Release'">MyApp.Debug.nuspec</OctoPackNuSpecFileName>
</PropertyGroup>

将文件 MyApp.nuspec 和 MyApp.Debug.nuspec 放在与 .csproj 文件相同的目录中,一切顺利。

于 2017-01-20T18:39:10.920 回答
4

布勒格

我是个假人。

.nu​​spec 文件需要与 .csproj 文件位于同一目录中。这实际上是有道理的,因为它允许您为解决方案中的每个项目拥有不同的 nuspec 文件。

希望这篇文章对其他人有所帮助。

于 2015-01-22T02:15:14.510 回答
2

请注意,您不必拥有NuSpec,因为如果 OctoPack 不存在,它将即时生成一个(基于项目文件)——这就是您所经历的。

当然,如果要自定义 NuGet 包,则需要 NuSpec。在此处查看 OctoPack 源: https ://github.com/OctopusDeploy/OctoPack ,您可以亲自了解 OctoPack 如何与 NuSpec 配合使用。

于 2015-01-22T06:43:00.953 回答