2015-02-12 112 views
5

我们正在为我们自己的私人nuget包在私人存储库中工作。我们有能力为每位客户更换nuget feed。但nuget软件包位于Web.Config中指定的位置。NuGet服务器 - 私人存储库 - 更改nuget包动态位置

是否有可能通过路由(URL)动态更改位置? 我已经refferd这个博客 http://blog.maartenballiauw.be/post/2011/05/09/Using-dynamic-WCF-service-routes.aspx 即使包网址是指在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”是我的本地repositary地址,我需要私下访问repositary,好像有上面的位置内的几个文件夹,我需要动态访问该文件夹NugetPackages/folder1,NugetPackages/folder2像这样, 这可能吗?

在此先感谢..

回答

2

选项1:我已经通过增加子应用对于每个平台和重定向到nugetrepositary解决了这个问题。它现在工作正常

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