Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to call App_Code class from a code-behind

I have a class in a file that's in the "App_Code" folder. I'm able to use this in an "aspx" file but not from a code-behind file. How do I make it visible to a code-behind?

NOTE: This is ASP.Net on Mono and I'm writing the classes directly, not using an IDE to compile them

My files:

ASPX FILE (testappcode.aspx)

<%@ Page language="c#" src="TestAppCode.aspx.cs" Inherits="TestAppCode.TestAppCode" AutoEventWireup="true" %>
<html>
  <head>
    <title>Test App_Code Folder</title>
  </head>
  <body>
    <form id="contactForm" runat="server">
    <asp:TextBox id="Name" runat="server" ></asp:TextBox>
    <asp:TextBox id="Age" runat="server" ></asp:TextBox>
    <asp:Button ID="Submit" runat="server" Text="Submit" onclick="SubmitForm" />
    </form>
  </body>
<html>

CODE BEHIND (TestAppCode.aspx.cs)

using System;
using System.Web.UI.WebControls;

namespace TestAppCode
{
    public class TestAppCode : System.Web.UI.Page
    {
    protected void SubmitForm(object sender, EventArgs e)
    {
        //It fails here with the error: CS0246: The type or namespace name
        //`MyAppCodeClass' could not be found. Are you missing a using
        //directive or an assembly reference?
        MyAppCodeClass m = new MyAppCodeClass();
    }
    }
}

APP_CODE CLASS (App_Code/MyAppCodeClass.cs)

public class MyAppCodeClass
{
         public MyAppCodeClass() {}
}

I tried giving it a namespace, but that doesn't fix the issue.

like image 241
Don Rhummy Avatar asked Jan 07 '13 22:01

Don Rhummy


1 Answers

Change your class' Build Action to Compile.

enter image description here

like image 110
Win Avatar answered Oct 15 '22 19:10

Win