2015-02-04 6 views
12

ASP.NET 웹 API 프로젝트가 있고 도움말 페이지를 추가하고 싶지만 프로젝트를 별도로 만들고 싶습니다.별도의 프로젝트에서 ASP.NET 웹 API 도움말 페이지

가능합니까?

+0

을, 도움말 페이지는 당신이 경로를 제공하기 위해 XML 문서에서 작동합니다. 그러나 한 프로젝트는 일반적으로 하나의 웹 응용 프로그램입니다. 개발 중 및 IIS의 다른 응용 프로그램에서 다른 포트의 도움말 페이지를 원하십니까? 정확한 목표에 대해 좀 더 설명해 주시겠습니까? – CodeCaster

+0

도움말 페이지에 필요한 모든 리소스로 웹 API 프로젝트를 엉망으로 만들고 싶지 않습니다. 도움말 페이지 코드가 별도의 프로젝트에 있어야하기 때문입니다. – koryakinp

+0

도움말 페이지는 자체 영역에서 생성됩니다. 지역을 고수하고 그 지역에 자원을 넣으면 프로젝트가 엉망이되어서는 안됩니다. –

답변

0

당신은 그런 식으로 뭔가 XmlDocumentationProvider 생성자를 다시 작성할 수 있습니다

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()); 
    } 
} 

그것은 당신이 배열에 나열 모든 XML 문서 파일이 포함됩니다. 또한 대상 웹 API 프로젝트 (및 필요한 경우 모든 모델 프로젝트)가 빌드시 문서를 생성하고이를 올바른 위치에 복사해야합니다. enter image description here

1

당신은 당신의 도움이 프로젝트에서 웹 API 프로젝트에서 WebApiConfig.Register를 호출해야합니다 : 당신이 할 수 물론

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