Тип или имя пространства имен "Оптимизация" не существует в пространстве имен "System.Web",

Я размещаю новый веб-сайт как свой основной сайт, и он работает красиво.

Все мои приложения под корневым URL также работают, за исключением одного. Это устаревшая система (С#.net), которая сильно используется и, к сожалению, у меня нет доступа к исходному коду.

Когда я запускаю устаревшее приложение www.mysite.com/crm, я получаю следующую ошибку:

Server Error in '/crm' Application.

Compilation Error

Description: An error occurred during the compilation of a resource required to 
service this request. Please review the following specific error details and modify 
your source code appropriately. 

Compiler Error Message: CS0234: The type or namespace name 'Optimization' does not 
exist in the namespace 'System.Web' (are you missing an assembly reference?)

Source Error:


Line 17:     <pages>
Line 18:       <namespaces>
Line 19:         <add namespace="System.Web.Optimization" />
Line 20:       </namespaces>
Line 21:     <controls>

Source File: e:\WebSites\newsite\Web.config    Line: 19 


Show Detailed Compiler Output:

Show Complete Compilation Source:


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18446

Ошибка заключается в перечислении web.config для основного сайта, который работает. Однако это происходит только при запуске приложения под основным сайтом.

Это выполняется на сервере Server 2008 R2 и IIS7

Как это исправить? Что еще я могу попробовать?

UDPDATE

Я не знаю, имеет ли это значение, но Web.Config ссылается на ошибку для нового веб-сайта, а не для устаревшего приложения. Я не уверен, почему основная конфигурация сайта является фактором.

ПОЯСНЕНИЯ

У меня нет доступа к исходному коду устаревшего приложения, поэтому я не могу настроить свойства для этого приложения. Вставка "Оптимизации" на сайт не исправила. Он может работать для других пользователей, но не для меня.

РАБОТА ВОКРУГ

Я настраиваю новый сайт под другим URL-адресом и перенаправляю трафик на корневой URL-адрес на новый URL-адрес и позволяю устаревшему приложению работать до тех пор, пока мы не сможем его заменить. Очень неряшливое решение, но оно работает пока.

Ответы

Ответ 1

Я просто столкнулся с этой проблемой сейчас:

Error

Я переустановил инфраструктуру optmization и все работало нормально:

Install-Package Microsoft.AspNet.Web.Optimization

Надеюсь, это поможет кому-то!

Ответ 2

Я столкнулся с такой же проблемой после создания новой области в MVC5. Существует автоматическое создание файла web.config. Проверьте файл web.config в папке " Виды ", есть строка

<add namespace="System.Web.Optimization" />
  1. если вам это нужно, установите его, используя следующую команду.

    Install-Package Microsoft.AspNet.Web.Optimization
    

    в консоли диспетчера пакетов, как показано ниже

    pmc

  2. Если вы считаете нужным, просто удалите строку <add namespace="System.Web.Optimization"/> из следующего раздела в файле web.config

    <namespaces>
       <add namespace="System.Web.Mvc" />
       <add namespace="System.Web.Mvc.Ajax" />
       <add namespace="System.Web.Mvc.Html" />
       <add namespace="System.Web.Routing" />
       <!--<add namespace="System.Web.Optimization" />-->
       <add namespace="AutoParts.Web" />        
    </namespaces>
    

Ответ 3

Проверьте папку Bin для устаревшего приложения. Возможно, вам просто нужно будет зайти в эту DLL. Пространство имен System.Web.Optimization существует как ASP.NET 4.5, поэтому оно может даже не поддерживаться. Устаревшее приложение может быть старше этого.

Ответ 4

В Visual Studio.. Перейдите в свой проект и посмотрите дерево ссылок.

щелкните правой кнопкой мыши System.Web.Optimization и выберите " Properties

найдите path, вы найдете его пустым, если это так, тогда загляните на свой компьютер для имен файлов System.Web.Optimization.dll и скопируйте их в папку bin вашего проекта и это решит

Ответ 5

Я просто переживал: "CS0234 С# Тип или имя пространства имен" Оптимизация "не существует в пространстве имен" System.Web "(вам не хватает ссылки на сборку?)" И нашел эту страницу stackoverflow. - Причина для меня состояла в том, что я переименовал веб-форму (aspx page), с которой я работал, и хотел переименовать открытый частичный класс за этой формой. Это привело к указанному коду ошибки. Я добавил " using System.Web.Optimization; " к коду позади (С#), "очистил" решение, затем "построил" затем решение, затем "перестроил" решение, и теперь ошибка исчезла, а использование оператора wasn ' т, поэтому я избавился от него. У моего решения больше нет таких ошибок или ошибок, поэтому я решил поделиться этой странной историей. Мне, вероятно, не нужно было использовать этот оператор " using ", но что угодно.

Ответ 6

Главная к области

@Html.ActionLink("My Area Home", "Index", "Home", new { area = "MyArea" }, null)

Площадь до главного

@Html.ActionLink("Home", "Index", "Home", new { area = "" }, null)