'From where do I reference a missing assembly (System.Net.Http.Formatting)?
In my Visual Studio 2013 RC project, I'm getting this err msg:
"The type 'System.Net.Http.Formatting.MediaTypeFormatter' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'"
...on the "var response = " line of code in a Controller:
public HttpResponseMessage PostDelivery(Delivery delivery)
{
delivery = repository.Add(delivery);
var response = Request.CreateResponse<Delivery>(HttpStatusCode.Created, delivery);
string uri = Url.Link("DefaultApi", new { id = delivery.Id });
response.Headers.Location = new Uri(uri);
return response;
}
Searching my hard drive for the required assembly ("System.Net.Http.Formatting"), it shows me several locations where it exists, but they are all within existing projects, as is seen here:

Surely there is another location from which System.Net.Http.Formatting.dll can be referenced! But where?
UPDATE
Trying to follow the clue here: http://www.nuget.org/packages/System.Net.Http.Formatting
IOW, by selecting Tools > Library Package Manager > Package Manager Console, and entering:
Install-Package System.Net.Http.Formatting -Version 4.0.20710
...I see the red bulls of Pamplona (not the beverage) descending wild-eyed upon me:

UPDATE 2
I added the System.Net.Http.Formatting.dll from here:
C:\Users\clay\My Documents\Visual Studio 2013\Projects\MvcApplication1\MvcApplication1\bin
...and it now compiles and runs and works as expected, but that is obviously "not the preferred method"
Solution 1:[1]
Adding to what Luiz answered above.
System.Net.Http.Formatting is a library and is used for media type formatting. For example: http://msdn.microsoft.com/en-us/library/system.net.http.formatting.jsonmediatypeformatter(v=vs.118).aspx
When referencing it, when I tried, I was looking to add a reference in my project and was looking in the Assemblies/Framework folder in Reference Manager.
It is actually in the Assemblies/Extensions folder in Reference Manager
Solution 2:[2]
If you got an error trying to install System.Net.Http.Formatting -Version 4.0.20710, try this one:
Install-Package WebApiDoodle.Net.Http.Formatting -Pre
I just found on NuGet: https://www.nuget.org/packages/WebApiDoodle.Net.Http.Formatting/3.0.0-pre01
Solution 3:[3]
Right click on project and click Add a reference option, then go to Extensions from Assemblies tab and choose System.Net.Http.Formatting. If it is no in here you have to manually add in prgramme files-> Microsoft ASP.NET
Solution 4:[4]
One other simple option for resolving this is to right click on references, click 'Manage NuGet References', Browse for 'Microsoft.AspNet.WebApi.Client' and install it or perhaps reinstall it. Review the package information to learn more.
Solution 5:[5]
I ran into the same problem on vs2022 v16.11.5.
I was fortunate enough to have the project working on one machine but not another. On the suspect machine, under project References, System.Net.Http.Formatting could not be found. Running the visual studio installer app and modifying the vs2022 install to include the ASP.NET and web development package fixed me up.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Cœur |
| Solution 2 | felippeDev |
| Solution 3 | Ganganath Rathnasekara |
| Solution 4 | GrayDwarf |
| Solution 5 | JT-SeniorTestEngineer |
