如何编译asp.net网站项目区分大小写?

时间:2017-02-18 19:26:13

标签: c# asp.net visual-studio visual-studio-2017 web-site-project

最近我将 ASP.Net网站转换为 ASP.Net Web应用程序

由于这是一个巨大的项目,我得到了未解决的错误

最近的一个是区分大小写问题

当我尝试编译时,它编译为不区分大小写的变量,因此不会出现问题

但是在运行时,它会以区分大小写的形式运行,因此会发生“模糊匹配”错误

如何在运行环境中扫描整个项目以找到这些匹配? TY

1 个答案:

答案 0 :(得分:0)

首先,asp.net Web表单控件ID区分大小写,因为它们充当相应服务器控件的访问标识符。 使用描述为here的逻辑生成关联的html客户端ID。

如果我猜对了,您通过复制粘贴方法而不是发布来部署网站。转换后,您不再可以复制粘贴项目,您必须将其发布(因为它是一个Web应用程序)

您获得运行时错误的原因是因为您有许多指向同一部​​分类的页面指令后面的代码。为了给您一个想法,请说明您有PageA.aspxPageB.aspx。您的项目Partial Class PageAPartial 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文件夹中,因此生成的库文件中存在不明确的定义。因此,在运行时,您会收到此错误。

我希望这能解决你的问题。