Сообщение об ошибке компилятора: CS0433: тип ‘MasterPage’ существует в обоих ‘c: ~App_Web_ogmril5q.DLL’ и ‘c:~App_Web_ogmril5q.DLL ‘

#asp.net #master-pages

#asp.net #мастер-страницы

Вопрос:

У меня есть 2 основные страницы внутри одного ASP.Веб-сайт в сети. Он отлично работает без публикации веб-сайта. После публикации веб-сайта на веб-сервере одна из главных страниц работает нормально, но когда я хочу получить доступ к странице, которая связана со второй главной страницей, она выдает мне указанную выше ошибку. Но самое странное, что пути к ошибкам находятся на диске c моего компьютера.

Ответ №1:

Когда это происходило в прошлом [редко, но я видел это один раз в производстве], вам нужно очистить содержимое папок теневого копирования для вашего приложения. Обычно они находятся в C:WINDOWSMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NET Файлы, но путь к ошибке в ваших сведениях об исключении укажет вам, где именно.

Ответ №2:

при копировании одной веб-страницы / пользовательского элемента управления для создания другой веб-страницы / пользовательского элемента управления. После копирования одного пользовательского элемента управления для создания другого я забыл изменить частичное имя класса в файле .cs нового пользовательского элемента управления и ‘Inherits=’ в файле .aspx. Исправление этих имен классов остановило возникновение ошибки. Я полагаю, что самое простое решение, чтобы избежать этого, — просто создавать новые пользовательские элементы управления каждый раз с помощью мастера, а не копировать и вставлять существующий пользовательский элемент управления.

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

Ответ №3:

Существуют различные ошибки cs0433, которые могут привести к этому.

В принципе, если вам нравится, что я сделал, попробуйте скомпилировать один и тот же проект с разными версиями Visual Studio, они, вероятно, могут использовать разные версии компиляторов и библиотек .Net.

Таким образом, некоторые встроенные сборки будут дублироваться, вызывая разные указатели на одну и ту же функциональность, но с различными .Net CLR

Что решило это для меня, так это воссоздать папку из «Virgin Code Files», но с немного другим именем, таким как «Project1», «Project2» и т.д..

Затем вы можете перестроить проект с нуля с правильной версией Visual Studio, которая для меня была VS2019, а затем «Боб твой дядя :)» Больше никаких ошибок.

Пожалуйста, примите этот ответ