2012-10-12 2 views
8

는 : http://blogs.msdn.com/b/yaohuang1/archive/2012/05/21/asp-net-web-api-generating-a-web-api-help-page-using-apiexplorer.aspxASP.net 웹 API와 System.Net.Http

내 웹 API 프로젝트에 대한 문서를 제공하기 위해 모든 것을 설정 한하지만 난 문제로 실행 해요. @api.HttpMethod을 사용하려고하면 기사의 중간 부분에 대해 설명하는 오류가 발생합니다. 그는 System.Net.Http, Version = 2.0.0.0 어셈블리에 대한 참조를 web.config에 수동으로 추가해야한다고 말합니다.하지만 참조를 폴더에 추가하는 전통적인 방법을 따르는 경우 web.config .....에있는 태그는 더 이상 4.5에서 유효한 태그가 아니며 모든 것이 AssemblyRedirects를 통해 이루어집니다. 나는 그것을 시도했지만 아무 소용이 없다. 누구든지이 문제가 있거나 web.config의 변경을 돕는 방법을 알고 있습니까? 나는 회의를 놓쳤는가?

비주얼 스튜디오 2012 MVC4 웹 API 프로젝트 (안 Nuget, VS2012와 함께 제공되는 최종 릴리스에서)

+0

내 VS 2012 MVC4 웹 API 프로젝트에서 문제를 재현 할 수 없습니다. System.Net.Http에 대한 참조를 web.config에 추가 한 후 어떤 예외가 발생합니까? –

답변

22

<system.web> 노드 아래에 Web.config 파일 내부에 아래 설정을 추가 (가정 앱 .NET 4.5에서 실행 , targetFramework 속성)은 4.5로 설정된다

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
     <assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
    </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
,745,151 :

<compilation targetFramework="4.5"> 
    <assemblies> 
    <add assembly="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </assemblies> 
</compilation> 

또한 <configuration> 노드에서 루트 레벨에서 한 다음 추가

이렇게하면 문제가 해결됩니다.

+4

왜 이것이 필요한가요? – Adam

+4

아무도 모른다 ... – GreyCloud

+1

나는이 어리석은 문제점을 영원히 싸웠다. 그리고 위의 그것을 고쳤다. .. 고마워. – 99823

관련 문제