2012-10-12 43 views
8

Tiếp theo ví dụ trong bài viết này: http://blogs.msdn.com/b/yaohuang1/archive/2012/05/21/asp-net-web-api-generating-a-web-api-help-page-using-apiexplorer.aspxASP.net Web API và System.Net.Http

tôi đã thiết lập tất cả mọi thứ để cung cấp tài liệu cho dự án Web API của tôi, nhưng tôi chạy vào một vấn đề. Khi tôi cố gắng sử dụng @api.HttpMethod Tôi gặp lỗi do anh mô tả ở giữa bài viết. Ông nói rằng bạn phải tự thêm một tham chiếu đến System.Net.Http, phiên bản = 2.0.0.0 trong web.config (mặc dù nó nằm trong thư mục Tham khảo theo mặc định), nhưng nếu bạn làm theo ví dụ của ông về việc lắp ráp cách truyền thống thông qua thẻ trong web.config ..... bạn sẽ thấy rằng không còn là một thẻ hợp lệ trong 4.5 và mọi thứ được thực hiện thông qua AssemblyRedirects. Tôi đã thử điều đó nhưng vô ích. Bất kỳ ai gặp sự cố này hoặc biết cách trợ giúp với thay đổi trong web.config? Tôi đã bỏ lỡ một cuộc họp?

Visual Studio 2012 dự án Web API MVC4 (không phải từ NuGet, việc phát hành chính thức xuất xưởng với VS2012)

+0

Tôi không thể repro vấn đề của bạn trên dự án API Web MV 2012 MVC4 của tôi. Ngoại lệ gì bạn nhận được sau khi thêm tham chiếu đến System.Net.Http vào web.config của bạn? –

Trả lời

22

Thêm cấu hình bên dưới bên trong file Web.config của bạn dưới <system.web> nút (giả sử ứng dụng của bạn chạy trên .NET 4.5 , targetFramework thuộc tính được thiết lập để 4.5):

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

Ngoài ra thêm dưới đây một ở cấp cơ dưới <configuration> nút:

<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> 

Điều này sẽ giải quyết được vấn đề của bạn.

+4

Tại sao điều này lại cần thiết? – Adam

+4

không ai biết ... – GreyCloud

+1

Tôi đã chiến đấu với vấn đề ngu ngốc này mãi mãi và ở trên cố định nó ... cảm ơn rất nhiều – 99823

Các vấn đề liên quan