Предварительная компиляция ASP.NET Razor View: предупреждение инструмента слияния об отсутствии политики выполнения - PullRequest
0 голосов
/ 30 января 2019

Используя следующие dll и пакеты nuget в контексте решения .net4.7.1:

System.Web.Http -> 5.2.3.0
System.Web.Http.OData -> 5.7.0

При создании проекта ASP.NET MVC5 мы получаем следующие предупреждения для определенных представлений:

(AspNetPreCompile target) -> Foobar.Web\obj\rls@oracle\AspnetCompileMerge\Source\Views\Some\View.cshtml(58):
warning CS1702: Assuming assembly reference 'System.Web.Http, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' used by 'System.Web.Http.OData' matches identity 'System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' of 'System.Web.Http', you may need to supply runtime policy 

Вопрос с строкой кода выглядит так:

U.WebApiCtrler<SomeController>()

И реализация этого метода выглядит примерно так:

static public string WebApiCtrler<T>() where T : System.Web.Http.Controllers.IHttpController => TrailingControllerStringRegex.Replace(typeof(T).Name, "");

Web.config уже содержит сборкуперенаправление на System.Web.Http:

  <dependentAssembly>
    <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
  </dependentAssembly>

Как настроить Web.config, чтобы это предупреждение исчезло.

...