Поставщики DisplayMode / DiplayMode Выпуск Asp.Net MVC 4 - PullRequest
1 голос
/ 27 марта 2012

В последнее время я пробовал MVC 4. Начал с предварительного просмотра разработчика, а теперь и бета.

Все работало довольно хорошо, но я хотел использовать встроенные функции минификации и сжатия. Но казалось, что его нет в предварительных версиях для разработчиков, потому что, независимо от того, что я пытался сделать, код не скомпилировался бы / не заработал, если бы я добавил что-нибудь связанное с комплектацией. Затем я провел небольшое исследование и увидел бета-версию MVC 4.

Я удалил mvc 4 и переустановил его с помощью бета-установщика. Создал новый проект, и он работал нормально с помощью комплектации. Но что бы я ни делал (включая копирование DLL из нового решения в мое старое). Я не могу заставить пакет работать в моем существующем решении

В файле global.asax.cs

[1]

BundleTable .Bundles.RegisterTemplateBundles (); * +1015 *

Bundle Table даже не зарегистрируется. (подчеркивается красным)

[2]

Я попробовал что-то еще, просто чтобы убедиться, что новая DLL используется.

ранее для проверки режима отображения будет использоваться следующее

[a]
    DisplayModes.Modes.Insert(0, new DefaultDisplayMode("iPhone")
    {
      ContextCondition = (context => context.Request.UserAgent.IndexOf
                         ("iPhone", StringComparison.OrdinalIgnoreCase) >= 0)
    });

но с тех пор оно было обновлено до

[b]
    DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("iPhone")
    ...

Код будет скомпилирован, если я использую [a], а не [b], но он не даст мне чистый запуск с использованием [a], так как он выдает ошибку во время выполнения

Не удалось загрузить тип 'System.Web.WebPages.DisplayModes' из сборки 'System.Web.WebPages, версия = 2.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35'.

Может ли быть так, что мое старое решение все еще как-то ссылается на старые библиотеки, даже если я скопировал новые, удалил ссылки и вручную указал их на новые?


Ссылочные записи по запросу @Brad Christie

<Reference Include="EntityFramework">
  <HintPath>..\packages\EntityFramework.4.1.10331.0\lib\net40\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="System.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\System.Json.4.0.20126.16343\lib\net40\System.Json.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\System.Net.Http.Formatting.4.0.20126.16343\lib\net40\System.Net.Http.Formatting.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http.WebRequest, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\System.Net.Http.2.0.20126.16343\lib\net40\System.Net.Http.WebRequest.dll</HintPath>
</Reference>
<Reference Include="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.Helpers.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebApi.Core.4.0.20126.16343\lib\net40\System.Web.Http.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\System.Web.Http.Common.4.0.20126.16343\lib\net40\System.Web.Http.Common.dll</HintPath>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebApi.4.0.20126.16343\lib\net40\System.Web.Http.WebHost.dll</HintPath>
</Reference>
<Reference Include="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetMvc.4.0.20126.16343\lib\net40\System.Web.Mvc.dll</HintPath>
</Reference>
<Reference Include="System.Web.Optimization">
  <HintPath>..\packages\Microsoft.Web.Optimization.1.0.0-beta\lib\net40\System.Web.Optimization.dll</HintPath>
</Reference>
<Reference Include="System.Web.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetRazor.Core.2.0.20126.16343\lib\net40\System.Web.Razor.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.Deployment.dll</HintPath>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <Private>True</Private>
  <HintPath>..\packages\AspNetWebPages.Core.2.0.20126.16343\lib\net40\System.Web.WebPages.Razor.dll</HintPath>
</Reference>

Ответы [ 3 ]

2 голосов
/ 11 сентября 2012

Я добавил это в свой класс и заставил его работать:

using System.Web.WebPages;
1 голос
/ 28 марта 2012

Не тот ответ, на который я надеялся, но он сделал свою работу.Я закончил тем, что создал новое решение и перенес свой код в него.Казалось бы, сделать трюк.Не уверен, почему предыдущее решение не обновлялось должным образом: /

Попробуйте перейти к обозревателю решений, щелкнуть правой кнопкой мыши на корневом решении и проверить свойства.В общих свойствах -> Зависимости проекта убедитесь, что соответствующие проекты отмечены.

0 голосов
/ 13 декабря 2013

У меня возникла та же проблема, и мне понадобилось 1 день, чтобы ее решить.Я все проверил (сборка ref / замена сборки).

наконец удалил веб-страницы asp .net и переустановил его, и это работает.

надеюсь, это поможет

...