【发布时间】:2014-10-18 23:41:27
【问题描述】:
我正在部署一个新网站作为我的主站点,它运行良好。
我在根 url 下的所有应用程序都可以正常工作,除了一个。这是一个被大量使用的遗留系统(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
错误是列出主站点的 web.config,它有效。但是,只有当我在主站点下运行应用程序时才会发生这种情况。
这是在 Server 2008 R2 和 IIS7 上运行的
我该如何纠正这个问题?我还能尝试什么?
更新
我不知道它是否有区别,但它在错误中引用的 Web.Config 是针对新网站的,而不是针对旧版应用程序的。我不确定为什么主站点配置是一个因素。
澄清
我无权访问旧版应用程序的源代码,因此无法调整该应用程序的属性。将优化 dll 粘贴到站点中也没有修复它。它可能适用于其他用户,但不适用于我。
解决方法
我在另一个 URL 下设置了新站点,并将到根 URL 的流量重定向到新 URL,并允许旧应用程序按原样运行,直到我们可以替换它。非常草率的解决方案,但现在可以使用。
【问题讨论】:
-
这个问题应该可以帮助您解决问题:stackoverflow.com/questions/9475893/…
-
我看到了那个帖子,但是我不能修改子应用程序。在主站点上这样做会有所帮助吗?
-
上传所有丢失的dll到服务器上的部署文件夹,在这种情况下上传
System.Web.Optimization.dll