最近我将 ASP.Net网站转换为 ASP.Net Web应用程序
由于这是一个巨大的项目,我得到了未解决的错误
最近的一个是区分大小写问题
当我尝试编译时,它编译为不区分大小写的变量,因此不会出现问题
但是在运行时,它会以区分大小写的形式运行,因此会发生“模糊匹配”错误
如何在运行环境中扫描整个项目以找到这些匹配? TY
答案 0 :(得分:0)
首先,asp.net Web表单控件ID区分大小写,因为它们充当相应服务器控件的访问标识符。 使用描述为here的逻辑生成关联的html客户端ID。
如果我猜对了,您通过复制粘贴方法而不是发布来部署网站。转换后,您不再可以复制粘贴项目,您必须将其发布(因为它是一个Web应用程序)
您获得运行时错误的原因是因为您有许多指向同一部分类的页面指令后面的代码。为了给您一个想法,请说明您有PageA.aspx
和PageB.aspx
。您的项目Partial Class PageA
和Partial Class PageB
应该有两个不同的类。您必须检查所有页面指令,以指向应指向正确文件和类的文件背后的正确代码。
示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageA.aspx.cs"
Inherits="PageA" %>
和
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageB.aspx.cs"
Inherits="PageB" %>
当网站作为整个项目复制粘贴部署在服务器上时,这不会影响运行时,因为每个页面都是默认编译的。
部署已发布的Web应用程序时,所有库都预先存在于bin文件夹中,因此生成的库文件中存在不明确的定义。因此,在运行时,您会收到此错误。
我希望这能解决你的问题。