文档似乎非常不完整。它只是说可以使用你自己的.nuspec文件,但它没有提到你应该把它放在哪里,或者如何使用octopack来使用它。
http://docs.octopusdeploy.com/display/OD/Using+OctoPack
我尝试将.nuspec文件命名为与我的解决方案命名相同并将其放在同一目录中。那没用。
我尝试修改Octopack生成的.nuspec文件,但每次运行时都会覆盖这些更改。
我尝试的其他任何事情都只是在黑暗中拍摄。
有没有人让这个工作?
答案 0 :(得分:9)
如果你想使用一个自定义的nuspec文件(不同于your.project.name.nuspec
,有一个msbuild属性OctoPackNuSpecFileName
,你可以指定你的nuspec文件,如下所示:
msbuild yoursolution.sln /p:RunOctoPack=true p:OctoPackNuSpecFileName=Dev.nuspec
答案 1 :(得分:5)
在OctoPack中使用自定义或条件.nuspec文件的另一种方法是在.csproj文件中添加一个PropertyGroup,如下所示:
<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文件相同的目录中,你就可以了。
答案 2 :(得分:4)
blerg。
我是个假人。
.nuspec文件需要与.csproj文件位于同一目录中。这实际上是有意义的,因为它允许您为解决方案中的每个项目提供不同的nuspec文件。
希望这篇文章可以帮助其他人。
答案 3 :(得分:2)
注意,你没有拥有来拥有NuSpec,因为OctoPack将动态生成一个(基于项目文件),如果它不存在 - 这就是你所经历的。
当然,如果要自定义NuGet包,则需要NuSpec。在这里查看OctoPack源代码:https://github.com/OctopusDeploy/OctoPack您可以亲自了解OctoPack如何与NuSpec配合使用。