名称空间"System.Web"中不存在类型或命名空间名称"优化"

dav*_*ids 31 .net html c#

我正在部署一个新网站作为我的主要网站,它的工作非常精彩.

根网址下的所有应用程序都可以正常工作,除了一个.它是一个遗留系统(c#.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
Run Code Online (Sandbox Code Playgroud)

错误是列出主站点的web.config,它可以正常工作.但是,只有当我在主站点下运行应用程序时才会发生这种情况.

这是在Server 2008 R2和IIS7上运行的

我该如何纠正?我还能尝试什么?

UDPDATE

我不知道它是否有所作为,但它在错误中引用的Web.Config是针对新网站的,而不是针对遗留应用程序.我不确定为什么主站点配置是一个因素.

澄清

我无权访问遗留应用程序的源代码,因此无法调整该应用程序的属性.将优化dll粘贴到站点中也没有解决它.它可能适用于其他用户,但不适合我.

周围的工作

我在另一个URL下设置了新站点,并将流量重定向到新URL的根URL,并允许遗留应用程序按原样运行,直到我们可以替换它为止.非常草率的解决方案,但它现在有效.

Shu*_*ubh 38

我现在才遇到这个问题:

错误

我重新安装了optmization框架,一切正常:

Install-Package Microsoft.AspNet.Web.Optimization
Run Code Online (Sandbox Code Playgroud)

我希望它对某人有所帮助!

  • 我喜欢这个解决方案,我通常会使用它.无论如何,你可以收到消息"包'Microsoft.AspNet.Web.Optimization'已经存在于项目中"并且仍然没有解决问题.在这种情况下,只需从"packages"文件夹中删除它并再次安装. (2认同)

rez*_*e08 32

在MVC5中创建一个新区域后我遇到了同样的问题.有自动生成web.config文件.检查Views文件夹下的web.config文件是否有一行

<add namespace="System.Web.Optimization" />
Run Code Online (Sandbox Code Playgroud)
  1. 如果需要,请使用以下命令安装它.

    Install-Package Microsoft.AspNet.Web.Optimization
    
    Run Code Online (Sandbox Code Playgroud)

    在包管理器控制台,如下所示

    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>
    
    Run Code Online (Sandbox Code Playgroud)


bea*_*der 9

检查Bin旧应用程序的文件夹.它可能只需要您放入该DLL.该System.Web.Optimization命名空间从ASP.NET 4.5开始存在,因此甚至可能不受支持.旧版应用程序可能比旧版本更旧.


sta*_*low 5

在 Visual Studio 中...转到您的项目并查看引用树。

右键单击 System.Web.Optimization 并选择Properties

查找path,如果是这种情况,您会发现它是空的,然后在您的 PC 中查找文件名 System.Web.Optimization.dll 并将其复制到bin项目的文件夹中,这将解决它

  • 它对我有用,实际上当我打开参考树时,这些问题库会自动加载。谢谢! (2认同)