Asp – Parser Error Message – why would the ASP.NET deployment need cs files

.net-3.5asp.netdeployment

Its been a long time since I had to do anything but minor fixes with ASP.NET and I've never deployed a ASP.NET 2.0/3.5 application so probably I'm just missing something simple but I definitely need help.

Basically, we have a poorly written .NET 1.1 web application and we had some contractors come in and break some of our third-party dependencies and update it to a poorly written .NET 3.5 web application (the poorly written part will be addressed later).

So now I'm practicing deployment scenarios on a virtual machine set up like our deployment environment.

  1. I installed the 3.5 framework
  2. I compiled the new code and used visual studio's Build>Publish option as recommended by the contractors to output only the files the application requires.
  3. I copied all the files to a new directory inside of Inetpub on the VM and configured the web.config
  4. I created a new application pool
  5. I created a new IIS website pointed to the new directory and using the new application pool. I configured it to use version 2.0 under the IIS ASP.NET tab

But navigating to the loginpage I get:

Parser Error Message: The file '/View/LoginPage.aspx.cs' does not exist.

Line 1:  <%@ Page Language="C#" MasterPageFile="~/MasterPage/LoginMasperPage.Master" AutoEventWireup="true"
Line 2:      CodeFile="LoginPage.aspx.cs" Inherits="MyApp.View.LoginPage" Title="MyApp - Login Page" %>

What gives? In the .NET 1.1 version of the application all the c# code was compiled into the MyApp.dll and the application knew to look there. Double checking with reflector, all the code is in the binary here too, just the server isn't looking there for it.

What can be going on? I can wait for the contractors to get in tomorrow, or compile everything including the aspx files into the binary, but we have good reasons for keeping the aspx files uncompiled and I'd like to deploy today if possible.

Please note, that this is not ASP.NET MVC, the view namespace/directory is simply where all the webforms are kept

Best Answer

You have probably used the Web site model for your updated application. Consider using a Web application project instead.