NuGet服务器 - 私有存储库 - 动态更改nuget包位置

时间:2015-02-12 06:35:13

标签: routing nuget

我们正在私人存储库中使用我们自己的私有nuget包。我们可以为每位客户更改nuget Feed。但是nuget包位于Web.Config中指定的位置。

是否有可能通过路由(URL)动态更改位置? 我已经收到了这个博客 http://blog.maartenballiauw.be/post/2011/05/09/Using-dynamic-WCF-service-routes.aspx  即使包url引用webconfig文件中给出的路径

    public static void MapNugetRoutes(RouteCollection routes)
            {
                var factory = new DataServiceHostFactory();
                var serviceRoute = new ServiceRoute("nuget/packages/getpackages/{platform}", factory, typeof(Packages));
                serviceRoute.Defaults = new RouteValueDictionary { { "serviceType", "odata" } };
                serviceRoute.Constraints = new RouteValueDictionary { { "serviceType", "odata" } };
                routes.Add("nuget", serviceRoute);
}

<appSettings>
    <add key="requireApiKey" value="true" />
    <add key="apiKey" value="" />
    <add key="packagesPath" value="~/NugetPackages/" />
    <add key="enableSimpleMembership" value="false" />
    <add key="" />
  </appSettings>

“NugetPackages”是我的本地存储地址,我需要私下访问存储库,就像上面的位置里面有几个文件夹,我需要动态访问文件夹NugetPackages / folder1,NugetPackages / folder2这样, 有可能吗?

提前感谢..

1 个答案:

答案 0 :(得分:2)

选项1:我通过为每个平台添加子应用程序并重定向到nugetrepositary来解决了这个问题。它现在工作正常

选项2:几年后,我找到了ProGet。使用此服务器,您可以轻松管理多个NuGet源。它还提供支持所有功能的免费版本。