我想在编译程序集后创建nuget包(并将它们部署到我的私有nuget存储库)。
我尝试使用NuGetter设置所有内容,但该项目有点不活跃,只允许您在需要一个软件包/程序集时构建一个软件包/项目。
现在我有点卡住了。我目前正在查看他们的来源,希望能让它对我更有用。
我在这里并行提出的问题是:有没有人有完整的解决方案来发布/创建TFS 2012和/或TFS2010的nuget软件包用于多包解决方案?
答案 0 :(得分:3)
I tried setting everything up by using NuGetter, but that project is kind of inactive and only allows you to build one package/project while I need one package/assembly.
NuGetter支持多个包,我现在只使用多包方法,因为您可以将它用于单个或多个包。
通过使用包xml文件,您可以指定多个包
<?xml version="1.0"?>
<NuGetterPackages>
<NuGetterPackage name="Package1">
<NuSpecFilePath>Package1.nuspec</NuSpecFilePath>
<BasePath>NuGetPrePackage_Package1</BasePath>
<InvokePowerShell>True</InvokePowerShell>
<PowerShellScriptPath>PrePackage_Package1.ps1</PowerShellScriptPath>
<InvokePush>True</InvokePush>
<OutputDirectory>NuGetPackage</OutputDirectory>
<PushDestination>\\MYFeedLoc\NugetFeed</PushDestination>
<Version>1.0.J.B</Version>
</NuGetterPackage>
<NuGetterPackage name="Package2">
<NuSpecFilePath>Package2.nuspec</NuSpecFilePath>
<BasePath>NuGetPrePackage_Package2</BasePath>
<InvokePowerShell>True</InvokePowerShell>
<PowerShellScriptPath>PrePackage_Package2.ps1</PowerShellScriptPath>
<InvokePush>True</InvokePush>
<OutputDirectory>NuGetPackage</OutputDirectory>
<PushDestination>\\MYFeedLoc\NugetFeed</PushDestination>
<Version>1.0.J.B</Version>
</NuGetterPackage>
</NuGetterPackages>
在源代码管理下,我有packages.xml文件,然后根据Nuget Package一个powershell文件和一个nuspec文件。
Nuspec文件看起来像这样
<?xml version="1.0"?>
<package >
<metadata>
<id>Package1</id>
<version>$version$</version>
<title>Package1</title>
<authors>Package1 Author</authors>
<owners>Package1 Owner</owners>
<iconUrl>http://Iconserver/nextlogo.png</iconUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Description of Contents</description>
<releaseNotes>First release of the package.</releaseNotes>
<copyright>Copyright 2014</copyright>
<tags>Space Seperated Tags</tags>
<dependencies>
<dependency id="AnyLatestDependencyIMayHAve" version=""/>
<dependency id="AFixedDependencyIMayHAve" version="[1.0.0]"/>
</dependencies>
</metadata>
</package>
然后是一个Powershell文件,它只是在Packages.xml中的BasePathDeclaration中创建文件夹结构,这与NuGetter网站上显示的文件相同
我在blog
添加了完整的说明