Newsgroup: it.comp.lang.visual-basic
Titolo: OT SFOGO: basta pensarci un attimo..MA...verbosità formale di NET

Che palle ...90 minuti e rotti per venirne a capo!
 
Devo rifare un sito web....ed ho scoperto le gioie della rapidità di 
fare un sito web con grafica carina con  Artisteer!
Nessun problema in php :template vanno al primo colpo
in asp classic : parimentinessun problema
 
ORA MI RIFACCIO il mio sito web!
....solo che voglio trasportare questo template in 
asp.net....esporta...me lo esporta in C#...funziona!
Scopro le gioie delle masterpage...degli webusercontrol...GANZISSIMO!
 
Bene....però lo voglio trasportare in vb.net...!
AHIA! non va! Cavolo!
 
Faccio un nuovo progetto...mi faccio tradurre da un convertitore 
automatico il codice degli usercontro (hai visto mai che fossi io che 
non capisco!)
 
Primo scoglio di mezzora
lo dico a beneficio di chi viene dopo di me
in c#
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.Design;
using System.ComponentModel;
.......
 
 public class BlockDesigner : ContainerControlDesigner
    {
 
In VB.net??????
ContainerControlDesigner c'è....ma non c'è verso derivarlo....
vaffa di qua vaffa di la
 
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.Design
Imports System.ComponentModel
...
    Public Class BlockDesigner
        Inherits ContainerControlDesigner
 
CAZZO MA E' la solita cosa che scrivo da mezz'ora!!! Solo che la 
scrivevo in maniera diversa!Imports System.Web.UI.Design per mia 
distrazioen prima di Imports System.Web.UI!!! Non mi torna ancora...son 
sempre propenso a pensare ad un momento di follia del mio VS2010 FW3.5 
(no fw4 Aruba maledetta!)
 
 
Seconda cosa che mi c'ha fatto sbattere il capo parecchio!!!!!
 
IN C#
<%@ Import Namespace="Artisteer" %>
<%@ Register TagPrefix="artisteer" Namespace="Artisteer" %>
<artisteer:Block ID="NewsletterBlock" ....bla bla bla
 
Comodissimo....mi registro un mio custom tag e lo uso con il mio 
framework!!!Già che ci sono cambio il namespace e lo chiamo "Martek" 
lascio per ora stare tutto il resto....
 
PRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR 
NON VA IN VB:NET 
PRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
 
...non trova il namespace! UH!
 
spippolo e spulcio il progetto C#....guardo il web.config....i 
riferimenti...NIENTE....non registra da nessuna parte il namespace!
di diverso è che il codice sta soltanto in App_code !
Nel mio prog VB l'ho messa in una cartella chiamata CODICE....il mio 
vs2010 non dichiara più APP_CODE come cartella ASP.net e quindi ritengo 
che se lo dice lui sia obsoleta e non penso stia li il problema!
 
Cmq...il problema è che NON TROVA il namespace...cazzo cazzo 
cazzo...poi dice che il c# non è un passo avanti!!!!
 
Insomma dopo un ora e mezzo la soluzione per mettere in una pagina 
degli user control
 
 
<%@ Import Namespace="WebMartekNet1.Martek" %>
<%@ Register TagPrefix="aaa" Assembly="WebMartekNet1" 
Namespace="WebMartekNet1.Martek" %>
 
io per 20 minuti scrivevo
 
<%@ Register TagPrefix="aaa" Namespace="WebMartekNet1.Martek" %>
ma il maledetto precisino di VB.net deve aver fatto corsi di etichetta 
dalla regina madre perchè vuol sapere anche dove stracazzo prendersi 
questo namespace e finchè non gli dite con Assembly="WebMartekNet1" 
dove sta il namespace...sta li fermo a segnalare errore!
 
la domanda sorge spontanea....perchè 
vb.net
 fa il difficile e C# 
no?Quale maledetto flag del cazzo cambia fra i due progetti???
Vb.net ha un web.config di mezz'ora fatto in automatico da vs2010
 
il web.config c# di artisteer è minimale
 
<?xml version="1.0"?>
<configuration>
	<appSettings/>
	<connectionStrings/>
	<system.web>
    <globalization
            fileEncoding="utf-8"
            requestEncoding="utf-8"
            responseEncoding="utf-8"
    />
    <compilation debug="true">
      <assemblies>
        <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, 
PublicKeyToken=B03F5F7F11D50A3A"/>
      </assemblies>
    </compilation>
		<authentication mode="Windows"/>
		</system.web>
</configuration>
 
....vado a mangiare che mi calmo!!!!
 
-- 
----- Italliaaaaa 3227! -----
Ci sono cattivi esploratori che pensano che non ci siano terre dove 
approdare solo perché non riescono a vedere altro che mare attorno a 
sé.
(Francesco Bacone)
 
 

 in asp classic : parimentinessun problema
 
ASP???
 
Accc... on avevo mai notato questa possibilità...
In effetti non programmo in .ASP  e mi limito a poche modifiche in .PHP
(preferisco di gran lunga i CMS già pronti come Joomla!, con cui faccio 
di tutto...)
 
Cmq mi hai dato uno spunto per delle prossime prove che vorrei fare, 
anche se non credo le userò mai in produzione...
 
 
-- 
Daniele Pinna  (leva oops. per rispondere)
Utente Skype: dapinna
Sito Web: 
http://www.dapinna.com
 
Il Docfa in Pillole:  
http://www.ildocfainpillole.it
 
DAPINNA.COM
 su Facebook: 
www.facebook.com/pages/Sassari-Italy/DAPINNACOM/110085322371199
 
-----
** Now Powered by Linux KUbuntu 11.10 "Oneric Ocelot" **
 

 maledetto flag del cazzo cambia fra i due progetti???
 
perchè C# è figo mentre VB.net è 'na mezza fighetta? :-P
Scherzi a parte, per quel poco che ho visto VB.net ha una minchiata 
colossale che sono i default namespace (o qualcosa di simile) che 
finché ti va tutto bene sono la manna ma appena hai bisogno di mettere 
mano ai namespace si spacca tutto... :-/
 
.m
 
-- 
è corta
 
 

Mauro Servienti [MVP] ci ha detto :

M'hai fatto illuminare una lampadina
....il progetto è NUOVO impostato su FW3.5...su questo pc ci sono stati 
i passati vstudio e ci sono almeno 3 FW!...
Vado in riferimenti del progetto
dichiara
System.Core net 3.5.0.0
poi
System.Design net 2.0.0.0
System.web net 2.0.0.0
 
Ma è corretto???? ad idea no....ma l'esperto che dice???
 
-- 
----- Italliaaaaa 3227! -----
Come ti senti oggi???
 
Giano Geminus Bifrons Bepop Flowers
http://youtu.be/Wk_gyLo0i-c
 
minuto 3:14
 
(Un uomo un mito: Luciano Lupoletti)
 
 

 ha scritto:
 
La soluzione è semplice: Passa a C# :D
 

 Ma ï¿œ corretto???? ad idea no....ma l'esperto che dice???
 
si ï¿œ giusto perchï¿œ le ultime due sono compilate per il fx 2.0 mentre 
l'altra per il 3.5
 
.m
 
-- 
ï¿œ corta
 
 

 La soluzione è semplice: Passa a C# :D
 
ed invece no!
 Visto che il sito web è mio...è un punto di principio:
....se zioBill non vende davvero prodotti buggati DEVE funzionare anche 
con 
vb.net
!
...altrimenti davvero mando tutto a fanculo e uso solo e soltanto 
php+apache!!!
 
Mi dò sabato come orizzonte temporale...se non ci riesco entro sabato 
può andare a ramengo 
asp.net
!
 
Ora sto facendo uno sfc /scannow da admin per vedere che dice !
 
-- 
----- Italliaaaaa 3227! -----


Wodka40° ha pensato forte :
l'appoggio qui e provo
http://www.fmsinc.com/free/NewTips/net/nettip40.asp
 
 
-- 
----- Italliaaaaa 3227! -----
Ho visto cose che voi umani non potreste immaginare... navi da 
combattimento in fiamme al largo dei bastioni di Orione. E ho visto i 
raggi B balenare nel buio vicino alle porte di Tannhauser. E tutti quei 
momenti andranno perduti nel tempo come lacrime nella pioggia. È tempo 
di morire...
 
Unità NEXUS6 Roy Batty N6MAA10816 Ment.LEV A
 
 

 
http://www.fmsinc.com/free/NewTips/net/nettip40.asp
 
 
Mi sta cominciando a star parecchio sulle palle asp.net....ma 
parecchio!
 
<%@ Page Language="vb" AutoEventWireup="false" 
CodeBehind="Prova.aspx.vb" Inherits=".Prova" %>
<%@ Register src="~/Controlli/BarraLaterale.ascx" 
tagname="BarraLaterale"  tagprefix="uc1" %>
 
.....
        <div id="test123">
        <uc1:BarraLaterale ID="Barralaterale" runat="server"  
Visible="true" />
        </div>
 
run nel browser
 
Errore del parser
Descrizione: Errore durante l'analisi di una risorsa necessaria per 
soddisfare la richiesta. Rivedere i dettagli relativi all'errore e 
modificare in modo appropriato il file di origine.
 
Messaggio di errore del parser: La classe base contiene il campo 
'Barralaterale', il cui tipo (BarraLaterale) non è compatibile con 
quello del controllo (ASP.controlli_barralaterale_ascx).
 
Errore nel codice sorgente:
 
 
Riga 15:         TEST</div>
Riga 16:         <div id="test123">
Riga 17:         <uc1:BarraLaterale ID="Barralaterale" runat="server"  
Visible="true" />
Riga 18:         </div>
Riga 19:     </form>
 
 
File di origine: /Prova.aspx    Riga: 17
 
 
bellissimo non è compatibile con se stesso????
S P A M
=
Sono
 
Pazzi
 
Alla
 
Microsoft
!
php si avvicina sempre più!
 
-- 
----- Italliaaaaa 3227! -----
Che giovano a quell'uomo ottant'anni passati senza far niente?... 
Costui non è vissuto, ma si è attardato nella vita; né è morto 
tardi,... ma ha impiegato molto tempo per morire!
 
Lucio Anneo Seneca
 
 

<cut>
 
Sembri John.... ;-)
 
-- 
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
 
http://www.maurogsc.eu/
 
 
 

 Sembri John.... ;-)
 
Argh...no!.... è che non capisco le differenze!!! E non capendo mi 
incazzo! E incazzandomi capisco sempre meno!....sono in loop!
 
-- 
----- Italliaaaaa 3227! -----


 Che palle ...90 minuti e rotti per venirne a capo!
SOLUZIONE:
La posto perchè sanGoogle mette in archivio tutti i post e casomai 
risparmio a qualche povero Cristo inutili fatiche!
 
ho esportato il progetto in c#....aggiustato e controllato che 
funzionasse!
poi ho fatto così:
Progetto Web VB.net FW 3.5
 
Non mi fidavo della mia conversione al volo ed allora il poco codice 
convertito con
http://www.developerfusion.com/tools/convert/csharp-to-vb/
 
 
A) PRIMA complicazione
Può darsi che non trovi subito ContainerControlDesigner !
Se vi si incarta qui va importato esplicitamente ....quindi proprietà 
progetto -> Riferimenti System.Design (che ve lo dichiarerà Net 2.0 
come versione)
 
B) Seconda complicazione....IL NAMESPACE del progetto
se lo lasciate bianco per renderlo simile a C# succede un gran 
casino...o almeno a me non riesce a farlo funzionare!
Quindi sempre nelle proprietà del progetto pannello applicazione
Nome assembly: webmartek1 (ad esempio)
Spazio nomi radice : webmartek (ad esempio)
 
vedremo poi perchè!
 
C) TERZA COMPLICAZIONE 
vb.net
 inherits "la su mamma sul ciuco"
Creiamo un usercontrol  ad esempio:
<%@ Control Language="vb" AutoEventWireup="false" 
CodeFile="DefaultMenu.ascx.vb" Inherits="DefaultMenu" %>
 
prima di confermare togliete il dafault automatico di INHERITS che lo 
farà fallire...lui metterà una cosa del tipo "webmartek.DefaultMenu"
NON VA BENE....solo "DefaultMenu"
In C# ci posso scrivere anche "pippopluto" in VB.net NO! deve essere il 
solito nome del controllo....non so perchè ...aborre altro!
Ho visto che nel designer c'è un bel
Partial Public Class DefaultMenu
End Class
in c# la posso chiamare come voglio in 
vb.net
 pare di no!!!
 
D) Quarta complicazione REGISTRARE i controlli in una pagina
ad esempio la sidebar
in C#
<%@ Import Namespace="Artisteer" %>
<%@ Register TagPrefix="artisteer" Namespace="Artisteer" %>
 
in 
vb.net
 DIVENTA
 
<%@ Import Namespace="webmartek.Artisteer" %>
<%@ Register TagPrefix="artisteer" Assembly="webmartek1" 
Namespace="webmartek.Artisteer" %>
 
VEDETE c'è l'indicazione dell'assembly???
Non mi chiedete perchè....ma senza non funziona un piffero armeno!
 
Quindi ad esempio una pagina aspx diventa FINALMENTE IN 
VB.NET
 
 
<%@ Page Language="VB" MasterPageFile="~/design/MasterPage.master"  
ValidateRequest="false" AutoEventWireup="true" CodeFile="Sito.aspx.vb" 
Inherits="Sito" Title="Untitled Page" %>
 
<%@ Import Namespace="webmartek.Artisteer" %>
<%@ Register TagPrefix="artisteer" Assembly="webmartek1" 
Namespace="webmartek.Artisteer" %>
<%@ Register TagPrefix="art"  TagName="DefaultMenu" 
Src="DefaultMenu.ascx" %>
<%@ Register TagPrefix="art"  TagName="DefaultHeader" 
Src="DefaultHeader.ascx" %>
<%@ Register TagPrefix="art"  TagName="DefaultSidebar1" 
Src="DefaultSidebar1.ascx" %>
 
 
<asp:Content ID="PageTitle" 
ContentPlaceHolderID="TitleContentPlaceHolder" Runat="Server">
    Page title here...
</asp:Content>
 
....bla bla bla.....
 
i commenti su questa imho inutile verbosità di 
vb.net
 (o una eccessiva 
concisione di C#....decidete voi) li lascio ad altri!
 
Io adesso son contento...!
M'accontento di poco!
;o)
 
-- 
----- Italliaaaaa 3227! -----
Io sono Attila:
A come atrocità,
doppia T come terremoto e tragedia,
I come ira di dio,
L come laco ti sangue
e A come adesso vengo e ti sfascio le corna!
(Diego Abatantuono "Attila Flagello di Dio")
 
 


ZAC
scusa la curiosità
 
ma che programma stai usando?
io se apro il vb2008 express non ho la voce "Progetto Web VB.net FW
3.5"
 
grazie
 

 3.5"
 
Perchè stai usando la versione Express, per cui devi scaricarti anche Visual Web Developer.
 
Con le versioni Professional hai tutto incluso nello stesso ambiente.
 
Nicola
 
 


grazie Nicola