0

Недавно я превратили мой ASP.Net сайт для ASP.Net Web ApplicationКак скомпилировать проект сайта asp.net с учетом регистра?

Поскольку это огромный проект, я получаю unexcepted ошибки

Очень недавний одна проблема чувствительности к регистру

когда я пытаюсь скомпилировать, он компилирует в случае нечувствительных переменных, таким образом, никаких проблем не возникает

Но когда работает, он работает в случае чувствительной, таким образом, "найдено двусмысленное совпадение "error

Как я могу сканировать весь проект, чтобы найти такие совпадения, прежде чем они произойдут в рабочей среде? Ty

+2

C# и javascript чувствительны к регистру независимо от типа приложения. Вы уверены, что это проблема? – CodingYoshi

+0

Да. Я просто эту проблему в своем приложении. Я выяснил ошибку на одной странице, но это может происходить на нескольких страницах. Вот пример моего случая: 2 раза определенный литерал . он не дает никакой ошибки, но когда я запустил и запустил эту страницу, она дает ошибку – MonsterMMORPG

+0

Возможно, вам стоит сделать так, чтобы у вас не было противоречивых имен. – mason

ответ

0

Прежде всего, идентификаторы управления веб-формами asp.net чувствительны к регистру, поскольку они действуют как идентификаторы доступа к соответствующему серверному элементу управления. Связанный идентификатор клиента html генерируется с использованием логики, которая описана here.

Если я правильно понял, вы развертывали веб-сайт с помощью метода copy-paste вместо публикации. После преобразования вы больше не сможете копировать и вставлять проект, и вы должны публиковать его (так как это веб-приложение)

Причина, по которой вы получаете ошибки во время выполнения, состоит в том, что у вас есть много кода за указателями страниц, которые указывают к тому же частичному классу. Чтобы дать вам идею, скажите, что у вас есть 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" %> 

Когда веб-сайт развернут на сервере в целом проекта копирования и вставки, это не влияет на время выполнения, поскольку каждая страница компилируется exmplicitly ,

При развертывании опубликованного веб-приложения все библиотеки существуют в папке bin, поэтому внутри созданных файлов библиотек существуют неоднозначные определения. Таким образом, во время выполнения вы получаете эту ошибку.

Надеюсь, это решит вашу проблему.

+0

хорошо, когда я пытаюсь опубликовать, он публикуется без ошибок. но когда я локально проверяю его в режиме отладки и вводя эту страницу конфликтующих имен, она выдает ошибку.поэтому я задаюсь вопросом о любом способе обнаружения таких конфликтующих страниц, не переходя к каждому из них :) – MonsterMMORPG

+0

Существует нет «автоматизированного» способа в vs из коробки, чтобы сообщить вам о таких ошибках. Вы можете создать свое собственное пред-сборку, которое будет проверять все файлы '.aspx' и' aspx.cs' в проекте и отображать в окне вывода любые выводы, связанные с такими ошибками. Эти файлы так много в конце, что вам нужна автоматизация, чтобы узнать? Просто пойдите один за другим и исправьте/переименуйте имя и определение класса. – mtsiakiris

 Смежные вопросы

  • Нет связанных вопросов^_^