Creare istanza di una partial class in classe contenuta in App_Code

mercoledì 15 novembre 2006 - 12.28

l.corallini Profilo | Junior Member

ciao a tutti,

ho appena migrato un web project da Asp.Net 1.1 ad Asp.Net 2.0.
In fase di compilazione mi da un errore in corrispondenza della seguente istruzione:

public Turni.Lavoro.Automazione Auto = Turni.Lavoro.Automazione();

questo è l'errore:
Error 1:Impossibile creare un'istanza della classe o dell'interfaccia astratta 'Turni.Lavoro.Automazione'.

con la precedente versione di VS i cosidetti 'file di codice autonomi' erano contenuti nella stessa directory del file che conteneva la riga incriminata in cui creo un'istanza della classe.

con la migrazione ho verificato che le istanze delle classi di 'file di codice autonomi' sono rimaste inalterate, il problema lo ho quando voglio istanziare una classe da un 'file di codice autonomo' in App_Code...

provo ad essere più esplicito:



in effetti con Visual Studio 2003 avevo:

--------------------------------------------------------------------------------

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Reflection;
using Office = Microsoft.Office.Core;
using Automation = Microsoft.Office.Interop.Excel;

namespace Turni.Lavoro
{

public class Automazione : System.Web.UI.Page
{
public Automation.Application oXL;
public Automation._Workbook oWB;
public Automation._Worksheet oSheet;
public Automation.Range oRng;
public float primaPartenza=1000000;
public float primaManutenzione=1000000;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.Table TableMessaggio;
protected System.Web.UI.WebControls.Label labelTurni;
protected System.Web.UI.WebControls.Image imgOkNo;
protected System.Web.UI.WebControls.Button btnIndietro;
protected System.Web.UI.WebControls.Button btnRigenera;
protected BusyBoxDotNet.BusyBox BusyBox1;
protected System.Web.UI.WebControls.Table tbIntestazione;
protected System.Web.UI.WebControls.TableCell cellIndietro;
protected System.Web.UI.WebControls.Table TableSceltaTurno;
protected System.Web.UI.WebControls.TableRow rowMessaggio;
protected System.Web.UI.WebControls.TableRow rowTabella;

--------------------------------------------------------------------------------

In Visual Studio 2005 ho:

//===========================================================================
// This file was modified as part of an ASP.NET 2.0 Web project conversion.
// The class name was changed and the class modified to inherit from the abstract base class
// in file 'App_Code\Migrated\Lavoro\Stub_Automazione_aspx_cs.cs'.
// During runtime, this allows other classes in your web application to bind and access
// the code-behind page using the abstract base class.
// The associated content page 'Lavoro\Automazione.aspx' was also modified to refer to the new class name.
// For more information on this code pattern, please refer to http://go.microsoft.com/fwlink/?LinkId=46995
//===========================================================================
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Reflection;
using Office = Microsoft.Office.Core;
using Automation = Microsoft.Office.Interop.Excel;

namespace TurniCTV.Lavoro
{

public partial class Migrated_Automazione : Automazione
{
protected System.Web.UI.WebControls.Button btnIndietro;
protected System.Web.UI.WebControls.TableCell cellIndietro;

...
...
...

dove Automazione è inserito in App_code/Migrated/Lavoro/Stub_Automazione_aspx_cs.cs in cui ho:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Reflection;
using Office = Microsoft.Office.Core;
using Automation = Microsoft.Office.Interop.Excel;


namespace Turni.Lavoro
{


abstract public class Automazione : System.Web.UI.Page
{

public Automation.Application oXL;
public Automation._Workbook oWB;
public Automation._Worksheet oSheet;
public Automation.Range oRng;
public float primaPartenza=1000000;
public float primaManutenzione=1000000;
public Interroga iCTV = null;
abstract public void InitializeTrain(string turno);
abstract public void TraceTrain(string ntreno, string partenza, string arrivo, int giorno, string origine, string destino, string tipo, int correzione,string suftre);
abstract public string LetsAutomate(string turno,string provenienza);
abstract public int rettaGiorni(int x);
abstract public int rettaTreni(int x);
.

come posso risolvere?

grazie
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5