In VS2010 I created a new .NET 3.5 solution and inside a new project for SharePoint 2010 (empty project called "SPAppPageTest"); I deployed it as a farm solution. I added a new application page, called CustomApplicationPage1.aspx via add - new item solution explorer menu - I didn't change the page. Here's what my project layout looks like:
I deploy this by right-clicking the project -> Deploy. In directory C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\LAYOUTS
I can after this see a "SPAppPageTest" folder with a file "CustomApplicationPage1.aspx". However, trying to view the page in browser (Firefox or Chrome) results in "404 FILE NOT FOUND" page being displayed (in IE I get "This webpage cannot be found"). The URL I'm entering is:
http://<server>/_layouts/SPAppPageTest/CustomApplicationPage1.aspx
What am I doing wrong?
Here's how CustomApplicationPage1.aspx looks like (I haven't changed it, it's the default code that VS generates):
<%@ Assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %>
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Tagprefix="asp" Namespace="System.Web.UI" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<%@ Import Namespace="Microsoft.SharePoint" %>
<%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CustomApplicationPage1.aspx.cs" Inherits="SPAppPageTest.Layouts.SPAppPageTest.CustomApplicationPage1" DynamicMasterPageFile="~masterurl/default.master" %>
<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
</asp:Content>
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
</asp:Content>
<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
Application Page
</asp:Content>
<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
My Application Page
</asp:Content>