I am having a problem I am trying to troubleshoot. I developed a website in VS 2013, and am trying to set the website up for continuous integration on a server using teamcity.
I have already tested teamcity on my computer, and have it compiling perfectly using a VS2013 install.
On the server, I have everything working...except for the compilation. In order to compile the website, I installed VS Express on the server. The problem is, a new error is appearing on the server:
System.Net.Http.Formatting and
System.Web.Http
...are both missing.
Are they missing because of some error? Because I am using VSExpress instead of VS2013?
The actual error is:
Security\ApiAuthentication.cs(7, 23): error CS0234: The type or namespace name 'Formatting' does not exist in the namespace 'System.Net.Http' (are you missing an assembly reference?)
Security\ApiAuthentication.cs(12, 18): error CS0234: The type or namespace name 'Http' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
Security\ApiAuthentication.cs(21, 49): error CS0234: The type or namespace name 'Http' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
Security\ApiAuthentication.cs(32, 48): error CS0246: The type or namespace name 'HttpActionContext' could not be found (are you missing a using directive or an assembly reference?)
I've got VS Community 2013 on my local, in the base install the System.Net.Http
namespace exists but System.Net.Http.Formatting
does not. This is the same with System.Web
vs System.Web.Http
.
On installing the Microsoft.AspNet.WebApi.Core NuGet package both appeared as expected and could be referenced.
Have you tried adding a NuGet Restore step to your TeamCity build before compiling? It's strange mind that these are the only errors you are seeing if there's been no NuGet restore in place. Maybe a build order issue / red herring?