Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

W pliku Default.aspx.cs mam klasę Default:

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e){}
}

w pliku UserDesktop.cs w tej samej lokalizacji mam tą samą klasę z funkcją Test:

public partial class _Default
{
public void Test(){}
}

niestety, ale funkcja test z pliku UserDesktop.cs nie jest widoczna z poziomu Default.aspx.cs.

Co może być powodem takiego stanu rzeczy ?.
Proszę o pomoc ponieważ kodu mam tak dużo w tej klasie, że nie jestem w stanie trzymać tego w jednym pliku.Mateusz Grzelak edytował(a) ten post dnia 19.06.12 o godzinie 18:14
Łukasz Wójcik

Łukasz Wójcik Enjoy the code :D

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

A jakie masz namespace'y? Nie jestem pewien ale powinny być takie same w obu plikach...
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Miałam ten sam problem - chodziło o namespace'y właśnie.

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Już dawno o tym pomyślałem i zrezygnowałem, bo w tym rzecz, że tych namespaców nie mogę dodać, bo pojawiają się takie błędy:

Error 4 W elemencie „ASP.default_aspx” nie jest zaimplementowany członek interfejsu „System.Web.IHttpHandler.IsReusable”.
Error 3 „ASP.default_aspx.ProcessRequest(System.Web.HttpContext)”: nie znaleziono odpowiedniej metody do zastąpienia
Error 2 „ASP.default_aspx.GetTypeHashCode()”: nie znaleziono odpowiedniej metody do zastąpienia
Error 1 Make sure that the class defined in this code file matches the 'inherits' attribute, and that it extends the correct base class (e.g. Page or UserControl).
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

A w aspx'ach masz dobrze ustawione dziedziczenie?

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Mam to:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

Tylko nie mam za bardzo pojęcia, jakiego użyć atrybutu, by móc dodać namespace.Mateusz Grzelak edytował(a) ten post dnia 19.06.12 o godzinie 23:02
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

A czemu nadales taka sama nazwe - nie wiem czy to nie rodzi konfliktu, tzn. nie wiem czy może rodzić.
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Proponuje stworzyc folder z klasami, a potem w dowolnym cs'ie wywolywac metody tam zdefiniowane, po uprzednim utworzeniu instancji.
Inaczej pomiedzy cs'ami to chyba nie da sie wolac metod.Katarzyna Pytlik edytował(a) ten post dnia 19.06.12 o godzinie 23:19

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

To się samo wygenerowało, nic nie dodawałem _Default to moja nazwa klasy w której strona stratuje i ładuje się metoda Page_Load().
Namespace żaden się nie wygenerował, a dodanie go powoduje błędy. To zrozumiałe że trzeba jakoś poinformować kompilator jeśli chce się go dodać, ale niestety nie wiem jak to zrobić.

Niestety, ale kod tak jest napisany, że to co w nim jest musi pozostać, i muszę podzielić tę partial klasę na dwa pliki.Mateusz Grzelak edytował(a) ten post dnia 19.06.12 o godzinie 23:22
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

To jest rozumiem web application? Rozumiem, ze tworzyles go z "szablonu" czy otwierales jakis istniejacy projekt?

Masz plik Global?

Ja akurat uzywam 3.5, ale tu sie chyba to roznic nie powinno, bo cos tam robilam tez w 4 i nie widzialam roznicy w tych kwestach - choc nie jestem doswiadczonym progamista :)

<%@ Page Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="nazwa.aspx.cs" Inherits="xxx" %>

gdzie xxx nazwa_projektu.nazwa_pliku (nazwa z nazwa.aspx.cs).Katarzyna Pytlik edytował(a) ten post dnia 19.06.12 o godzinie 23:30

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Samo mi to wygenerowało VS2010

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="_Default" %>

Nawet jak to przerobie podobnie do tego co zostało ww. to nic nie zmienia i tak nie da się zaimplementować namespace bo pojawiają się ww. błędy.
Katarzyna Pytlik

Katarzyna Pytlik Zespół Rozwoju
Aplikacji, CBB Call
Center

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Proponuje Inherits="nazwa_projektu.(ewentualnie nazwa folderu).Default", a cs usunac _ z public partial class.

namespace zawsze mam jak nazwe projektu i "otaczam" nim public partial class w cs.

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

W takiej formie można dodać namespace:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="NazwaProjektu1.Default" %>

,gdzie "NazwaProjektu1" jest też namespacem

Jeśli pliki nie znajduję się w tym samym folder powoduje to kolejny błąd:


Typ „NazwaProjektu1.Default” w elemencie „....\App_Web_x2huynlj.2.cs” powoduje konflikt z importowanym typem „NazwaProjektu1.Default” w elemencie „....\App_Code.bcdwkvxe.dll”. Zostanie użyty typ zdefiniowany w elemencie „....\App_Web_x2huynlj.2.cs”. ....\App_Web_x2huynlj.2.cs


A kompilator przekierowuje mnie z tego błędu w to - automatycznie wygenerowane miejsce:


[System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
public class default_aspx : global::NazwaProjektu1.Default, System.Web.IHttpHandler {


Jeśli pliki znajdują się w tym samym folderze, to nie pokazuje błędu, ale też nadal nie można używać niczego z oddzielonej klasy - tak jak by jej nie było.


//Plik Default.aspx.cs
namespace NazwaProjektu1
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//this.Test() - nie można użyć
}
}
}

//Plik UserDesktop.cs
namespace NazwaProjektu1
{
public partial class Default
{
public void Test(){}
}
}


Myślę, że może to być coś skopane w kompilatorze i nie może on utworzyć poprawnie projektu, może mógłby ktoś utworzyć dla mnie działający u niego projekt tylko z tymi klasami jak www. poście ?

Próbowałem już reinstalacji VS2010, ale nie pomogło... musiał bym postawić system od nowa, ale nie mogę tego obecnie zrobić więc jeśli mógłby ktoś zrobić upload byłbym bardzo wdzięczny.Mateusz Grzelak edytował(a) ten post dnia 20.06.12 o godzinie 15:28
Michał K.

Michał K. programista .net

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Cześć,
Prościej będzie Ci pomóc jak podeślesz cały projekt.

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Niestety ale moje VS2010 odmawia posłuszeństwa i nie generuje pliku .sln i projekty mogę otwierać tylko z poziomu kompilatora, nie mogę również tworzyć nowych dlatego prosiłem o czyiś projekt z plikiem .sln

Nawet jak bym wysłał mój, to nikt go nie otworzy.

Jak tworzę nowy, to pojawia mi się błąd, i nie ma nic w folderze programów:


---------------------------
Microsoft Visual Studio
---------------------------
D:\Users\Asmodath\AppData\Local\Temp\ebtaghmy.0sa\Temp\WebApplication1.csproj(133,3): The imported project "D:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
---------------------------
OK
---------------------------


Tak jak podałem w poprzednim poście - wystarczy mi czyiś działający przykład zgodny z poniższym schematem:

//Plik Default.aspx.cs
namespace NazwaProjektu1
{
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Test()
}
}
}

//Plik UserDesktop.cs
namespace NazwaProjektu1
{
public partial class Default
{
public void Test(){}
}
}
Mateusz Grzelak edytował(a) ten post dnia 20.06.12 o godzinie 19:53
Michał K.

Michał K. programista .net

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Tutaj możesz pobrać sobie projekt: http://sdrv.ms/MxLvcl

Ale na Twoim miejscu przeinstalowałbym VS, bo za chwilę będziesz miał inny problem.

Temat: [ C# ASP NET 4.0 ] Projekt nie widzi podzielonych klas.

Dzięki wielkie, teraz działa !



Wyślij zaproszenie do