我们已经使用 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 包源,而不是在每个项目中。
干杯,
泽维尔




