Я полностью озадачен этой проблемой.У меня есть веб-приложение ASP.NET, которое содержит несколько главных страниц.Этим утром я добавил новую главную страницу и подключил ее к ASPX.Тем не менее, я получаю YSOD с ошибкой:
Parser Error Message: Could not load type 'Blah.UI.Web.WebForms.Master.LoggedIn'.
Source Error:
Line 1: <%@ Master Language="C#"
MasterPageFile="~/WebForms/Master/IFrameContent.Master"
AutoEventWireup="true" CodeBehind="LoggedIn.master.cs"
Inherits="Blah.UI.Web.WebForms.Master.LoggedIn" %>
Сначала я подумал, что просто написал что-то не так в директиве главной страницы, но я проверил и перепроверил, а это неКажется, это так.
Поскольку в нем говорилось «не удалось загрузить тип», я использовал DotPeak, чтобы проверить, что код класса на самом деле скомпилирован в сборку, а его там нет.Оригинальные главные страницы есть, но той, которую я добавил сегодня утром, нет.
Итак, я решил, что просто как-то неправильно ее построил (я уже пытался полностью перестроить ... ноС таким же успехом могу попробовать еще раз).Все еще отсутствует.
Я проверил файл csproj по сравнению с предыдущей версией в системе контроля версий, и я вижу, что новый код есть:
<Compile Include="WebForms\Master\LoggedIn.master.cs">
<DependentUpon>LoggedIn.master</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebForms\Master\LoggedIn.master.designer.cs">
<DependentUpon>LoggedIn.master</DependentUpon>
</Compile>
... и позже в том же файле...
<ItemGroup>
<Content Include="WebForms\Master\LoggedIn.master" />
</ItemGroup>
Если я смотрю на свойства в Visual Studio, файлы .cs говорят:
- Действие сборки : Компиляция
- Копировать в выходной каталог : Не копировать
, который аналогичен файлам cs для главных страниц, которые работают.
Теперь я полностьюозадачен.Я понятия не имею, почему это не работает, или я пропустил что-то очевидное.
ОБНОВЛЕНИЕ
Я только что запустил сборку по командестрока с использованием того же сценария MSBUILD, который использует наш сервер CI, и производящая сборка содержит новый код главной страницы, стоящий за классом.Таким образом, в файле проекта нет ничего плохого.
Затем я проверил даты вывода файла Visual Studio.Сборке проекта веб-приложения два дня, в то время как другие сборки обновлены ... Сейчас я пытаюсь определить, почему Visual Studio не создает этот конкретный проект должным образом.Любые дополнительные идеи о том, что проверять, с благодарностью принимаются.
ОБНОВЛЕНИЕ 2
В конце концов Visual Studio создает файл ... он просто вводит его неправильнокаталог.Он помещает несколько файлов проекта в bin
, а некоторые в bin/x86/Debug
в проекте веб-приложения.Он также копирует файлы из того, что выглядит как старые каталоги сборки, поскольку даты файлов для некоторых файлов различаются.
Я могу только догадываться, что часть проблемы может быть связана со мной, когда я разделяю некоторый код в попытке очиститьдо базы кода вчера.Но я не понимаю, как это оказывается между смешением выходных данных между bin
и bin/x86/Debug