2015-02-04 16 views
12

ASP.NET Web API projem var ve bir Yardım sayfası eklemek istiyorum, ancak bunun ayrı bir projede olmasını istiyorum.ASP.NET Web API Yardım sayfası ayrı bir proje altında

Mümkün mü?

+0

, yardım sayfaları hangi yolu sağlamak için XML belgelerinde üzerinde çalışırlar. Ancak bir proje genellikle bir web uygulamasıdır. Geliştirme sırasında ve IIS'de farklı bir uygulamada farklı bir bağlantı noktasındaki yardım sayfasını mı istiyorsunuz? Tam amacın hakkında biraz daha açıklayabilir misin? – CodeCaster

+0

Web API projemi, Yardım sayfası için gerekli olan tüm kaynaklarla karıştırmak istemiyorum; bu, Yardım sayfam için kodun ayrı bir projede olmasını istememin ana nedeni. – koryakinp

+0

Yardım sayfası kendi alanında oluşturulur. Eğer bölgeye yapışır ve kaynakları o alana koyarsanız, projeniz berbat olmamalıdır. –

cevap

0

Böyle bir şeye XmlDocumentationProvider kurucuyu yeniden yazabiliriz:

public XmlDocumentationProvider(string appDataPath) 
{ 
    if (appDataPath == null) 
    { 
     throw new ArgumentNullException(nameof(appDataPath)); 
    } 

    var files = new[] { "MyWebApiProject.xml" /*, ... any other projects */ }; 
    foreach (var file in files) 
    { 
     var xpath = new XPathDocument(Path.Combine(appDataPath, file)); 
     _documentNavigators.Add(xpath.CreateNavigator()); 
    } 
} 

Bu dizide listelemek tüm xml belgeleri dosyaları içerir. Ayrıca, hedef Web API projenizin (ve gerekirse tüm model projelerin) oluşturulmasına ve doğru yere kopyalanmasını sağladığından emin olmalısınız. enter image description here

1

Sen yardım projesinde Web API projesinden WebApiConfig.Register çağırmalıdır: yapabilirsiniz Tabii

protected void Application_Start() 
    { 
    AreaRegistration.RegisterAllAreas(); 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 
    GlobalConfiguration.Configure(MyApiProjectNamespace.WebApiConfig.Register); 
    }