Доповнення до відповіді @AndreiU вже дало та як локально відтворювати помилки виконання.
Я отримав помилку виконання нижче під час розгортання в Azure, а не локально.
Не вдалося завантажити файл або збірку "System.Net.Http, Версія = 4.2.0.0, Культура = нейтральна, PublicKeyToken = b03f5f7f11d50a3a" або одна з її залежностей. Система не може знайти вказаний файл. "," ExceptionType ":" System.IO.FileNotFoundException "," StackTrace ":" в Company.Project.Service.CompanyIntegrationApiService..ctor (Uri baseAddress) \ r \ n у Company.Project .BackOffice.Web.Controllers.OrderController..ctor () в С: \ проекти \ компанія-проект \ src \ Company.Project.BackOffice.Web \ Контролери \ Замовлення \ OrderController.cs: рядок 30 \ r \ n на lambda_method ( Закриття) \ r \ n у System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create (HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) "}} Культура = нейтральна, PublicKeyToken = b03f5f7f11d50a3a 'або одна з її залежностей. Система не може знайти вказаний файл. "," ExceptionType ":" System.IO.FileNotFoundException "," StackTrace ":" в Company.Project.Service.CompanyIntegrationApiService..ctor (Uri baseAddress) \ r \ n у Company.Project .BackOffice.Web.Controllers.OrderController..ctor () в С: \ проекти \ компанія-проект \ src \ Company.Project.BackOffice.Web \ Контролери \ Замовлення \ OrderController.cs: рядок 30 \ r \ n на lambda_method ( Закриття) \ r \ n у System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create (HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) "}} Культура = нейтральна, PublicKeyToken = b03f5f7f11d50a3a 'або одна з її залежностей. Система не може знайти вказаний файл. "," ExceptionType ":" System.IO.FileNotFoundException "," StackTrace ":" в Company.Project.Service.CompanyIntegrationApiService..ctor (Uri baseAddress) \ r \ n у Company.Project .BackOffice.Web.Controllers.OrderController..ctor () в С: \ проекти \ компанія-проект \ src \ Company.Project.BackOffice.Web \ Контролери \ Замовлення \ OrderController.cs: рядок 30 \ r \ n на lambda_method ( Закриття) \ r \ n у System.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create (HttpRequestMessage request, HttpControllerDescriptor controllerDescriptor, Type controllerType) "}}
Коли я почав переглядати збірки, то побачив, що мій веб-проект та сервісний проект орієнтовані на різні версії для System.Net.Http.
Веб-проект:

Проект обслуговування:

Неважко подумати, що це викликано невідповідністю версій, але головне тут - подивитися на помилку The system cannot find the file specified..
Переглядаючи властивість шляху, ми можемо побачити, що веб-проект орієнтований на збірку .Net Framework, тоді як служба націлена на збірку з Visual Studio 2017. Оскільки на сервері не встановлено Visual Studio 2017, відбудеться помилка виконання.
Веб-шлях:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Net.Http.dll
Шлях обслуговування:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\Microsoft.NET.Build.Extensions\net461\lib\System.Net.Http.dll
Щось таке просте, як налаштування Copy Localдля trueвирішення проблеми, але не у всіх випадках.

Щоб відтворити помилку на вашій локальній машині, просто видаліть необхідну System.Net.Http.dllз конкретної папки Visual Studio. Це дасть вам помилку виконання та, ймовірно, деякі помилки побудови. Після цих виправлень все має працювати, принаймні, це зробило для мене.
Якщо ви встановили з System.Net.Httpдопомогою NuGetперевірки , яку збірка використовується, дивлячись на .csprojверсію. System.Net.Http 4.3.4дає наступну збірку, наприклад:
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
Якщо ви використовуєте сервер збирання, як Jenkins, TeamCity або AppVeyor, то .dllтам також може існувати відсутність часу виконання . У цьому випадку це може не допомогти використовувати NuGet версію System.Net.Http або видалити відсутню.dll локально. Щоб вирішити цю помилку, подивіться на не знайдену і конкретну версію PublicKeyToken. Після цього створіть переадресацію прив’язки в будь-який Web.configабо App.configзалежно від вашого проекту. У моєму випадку я хотів би замість цього використовувати 4.0.0.0:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
Хороша тема Github про проблему:
https://github.com/dotnet/corefx/isissue/22781