Это не совсем вопрос о проблеме;Я решил это сам (после того, как пару дней бился головой о стену), и я хотел бы поделиться этим, но мне было бы ДЕЙСТВИТЕЛЬНО интересно, если бы кто-нибудь мог дать мне объяснение, почему это происходит.
Ситуация достаточно проста: в C# 4.0
, VS 2010
(не проверял в других конфигах) создайте пустое ASP.NET web application
: File -> New -> Project (not Web Site) -> Web -> ASP.NET Empty Web Application.
Во вновь созданном веб-приложениисоздать страницу (add -> new item -> web form
).Затем запустите проект и, конечно, он работает.
Теперь сделайте следующее:
- Очистите выходные данные проекта, т.е. удалите все из папки bin
- Изменитепапка вывода проекта: свойства проекта -> сборка -> путь вывода.Например, измените bin \ на bin \ debug (это то, что я сделал)
BANG! Проект больше не работает!Попробуйте запустить его (F5), и вы получите:
Server Error in '/' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'WebApplication2.WebForm1'.
Source Error:
Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>
Line 2:
Line 3: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Source File: /WebForm1.aspx Line: 1
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.237
Если вы не выполните шаг № 1 (удалите все из папки bin) проектаработает, но когда вы меняете код внутри WebForm1.aspx.cs
, вы начинаете получать сообщения «Исходный файл не найден» от debugger
.Как я понимаю, по какой-то причине% $ & ^ # $ ^ * он все еще использует dll из папки bin.
Похоже, что выходная папка где-то жестко закодирована ...?!Кто-нибудь имеет представление о том, почему на земле это происходит ?????