从TFS构建过程创建和发布nuget包?
我希望在编译完程序集后创建nuget包(并将它们部署到我的私有nuget存储库) 我尝试使用NuGetter设置所有内容,但该项目处于非活动状态,只允许您构建一个包/项目,而我需要一个包/程序集 现在我有点困了。我目前正在查看他们的源代码,希望它对我更有用 我在这里同时要问的是:是否有人拥有从TFS 2012和/或TFS2010发布/创建nuget包的完整解决方案,用于多包解决方案从TFS构建过程创建和发布nuget包?,tfs,nuget,publish,Tfs,Nuget,Publish,我希望在编译完程序集后创建nuget包(并将它们部署到我的私有nuget存储库) 我尝试使用NuGetter设置所有内容,但该项目处于非活动状态,只允许您构建一个包/项目,而我需要一个包/程序集 现在我有点困了。我目前正在查看他们的源代码,希望它对我更有用 我在这里同时要问的是:是否有人拥有从TFS 2012和/或TFS2010发布/创建nuget包的完整解决方案,用于多包解决方案 I tried setting everything up by using NuGetter, but that
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确实支持多个包,我现在只使用multiple-package方法,因为您可以将它用于单个或多个包
通过使用包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>
包装1.nuspec
NuGetPrePackage_Package1
真的
预包装\u包装1.ps1
真的
NuGetPackage
\\MYFeedLoc\nGetFeed
1.0.J.B
包装2.nuspec
NuGetPrePackage_包装2
真的
预包装\u包装2.ps1
真的
NuGetPackage
\\MYFeedLoc\nGetFeed
1.0.J.B
在源代码管理下,我有packages.xml文件,然后每个Nuget包有一个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>
包装1
$version$
包装1
这就是它的样子。谢谢:)。但是为什么要为每个项目指定一个nuspec文件呢?这是怎么回事?据我所知,这些文件是在构建包之前创建的?!我们已经扩展了答案。一切都是事先创造的。构建运行。将创建一个“BasePath”文件夹,powershell脚本将在其中创建所需的结构,然后将包dll复制到该结构中。然后针对结构运行NuGet以创建包您是否检查了ALM Rangers的“TFS版本控制指南-使用NuGet进行依赖关系管理”?