如何让 Octopack 使用自定义 .nuspec 文件?
How to get Octopack to use custom .nuspec file?
文档似乎真的不完整。它只是说你 可以 使用你自己的 .nuspec 文件,但它没有提到你应该把它放在哪里,或者如何让 octopack 使用它。
http://docs.octopusdeploy.com/display/OD/Using+OctoPack
我试过将 .nuspec 文件命名为与我的解决方案相同的名称,并将其放在同一目录中。那没有用。
我试过修改 Octopack 生成的 .nuspec 文件,但每次 运行 时这些更改都会被覆盖。
我尝试的其他一切都只是在黑暗中尝试。
有没有人让这个工作?
blerg.
我是个傻瓜
.nuspec 文件需要与 .csproj 文件位于同一目录中。这实际上是有道理的,因为它允许您为解决方案中的每个项目使用不同的 nuspec 文件。
希望这 post 对其他人有所帮助。
请注意,您没有拥有 NuSpec,因为 OctoPack 会在运行时生成一个(基于项目文件)如果它不存在 - 那就是你体验。
当然,如果你想定制NuGet包,NuSpec是必需的。在此处查看 OctoPack 源代码:https://github.com/OctopusDeploy/OctoPack 您可以亲眼看到 OctoPack 如何与 NuSpec 一起工作。
如果你想使用自定义 nuspec 文件(不同于 your.project.name.nuspec
,有一个 msbuild 属性 OctoPackNuSpecFileName
,你可以通过它指定你的 nuspec 文件,就像这样:
msbuild yoursolution.sln /p:RunOctoPack=true p:OctoPackNuSpecFileName=Dev.nuspec
另一种在 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 文件相同的目录中,您就可以开始了。
文档似乎真的不完整。它只是说你 可以 使用你自己的 .nuspec 文件,但它没有提到你应该把它放在哪里,或者如何让 octopack 使用它。
http://docs.octopusdeploy.com/display/OD/Using+OctoPack
我试过将 .nuspec 文件命名为与我的解决方案相同的名称,并将其放在同一目录中。那没有用。
我试过修改 Octopack 生成的 .nuspec 文件,但每次 运行 时这些更改都会被覆盖。
我尝试的其他一切都只是在黑暗中尝试。
有没有人让这个工作?
blerg.
我是个傻瓜
.nuspec 文件需要与 .csproj 文件位于同一目录中。这实际上是有道理的,因为它允许您为解决方案中的每个项目使用不同的 nuspec 文件。
希望这 post 对其他人有所帮助。
请注意,您没有拥有 NuSpec,因为 OctoPack 会在运行时生成一个(基于项目文件)如果它不存在 - 那就是你体验。
当然,如果你想定制NuGet包,NuSpec是必需的。在此处查看 OctoPack 源代码:https://github.com/OctopusDeploy/OctoPack 您可以亲眼看到 OctoPack 如何与 NuSpec 一起工作。
如果你想使用自定义 nuspec 文件(不同于 your.project.name.nuspec
,有一个 msbuild 属性 OctoPackNuSpecFileName
,你可以通过它指定你的 nuspec 文件,就像这样:
msbuild yoursolution.sln /p:RunOctoPack=true p:OctoPackNuSpecFileName=Dev.nuspec
另一种在 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 文件相同的目录中,您就可以开始了。