我们已经使用 NuGet.Server 包成功设置了几个本地包存储库,并将它们托管在本地 IIS Web 服务器上。我们能够从包管理器连接并安装没有问题。所以这些工作正常。

为了让我们不必检查我们的包文件夹,我们在每个包含 NuGet 引用的项目文件中都包含了以下命令行。如果 NuGet.exe 位于 CI 构建代理的路径中,则此方法有效。

但是,我想从每个项目文件的命令行中移动源配置并将其放在一个地方,最好是其他讨厌的开发人员无法更改它;)

<Target Name="BeforeBuild"> 
    <Exec Command="nuget install $(ProjectDir)packages.config -s  
       http://domain:80/DataServices/Packages.svc/; 
        http://domain:81/DataServices/Packages.svc/  
       -o $(SolutionDir)packages" /> 
</Target> 

有没有更好的办法?

请您参考如下方法:

就在这里 ;-)
看看NuGetPowerTools .运行 Install-Package NuGetPowerTools 后,它会将一个 .nuget 文件夹添加到您的 $(SolutionDir) 中,其中包含 nuget.exe、nuget msbuild 目标和设置(您需要 checkin )。

之后,您只需运行 Enable-PackageRestore 并将 msbuild 目标设置到您的 Visual Studio 项目文件中,这将确保在预构建步骤中获取包,甚至在您的构建服务器上,无需 checkin 任何包。 (不过不要忘记检查 .nuget 文件夹!)。

这样,您只需在解决方案中心的 nuget msbuild 设置文件(在 .nuget 文件夹中)中管理 nuget 包源,而不是在每个项目中。

干杯,
泽维尔


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!