Roberto Brunetti

ASP.NET - Mobility
Team System

SharePoint Conference

.NET Programming

Corsi

SharePoint

Silverlight 2: Spectrum Emulator

Per i nostalgici dei vecchi giochi...dopo l'ormai famoso MAME...ecco la versione Silverlight dell'emulatore dello Spectrum Z80:

http://mschnlnine.vo.llnwd.net/d1/ch9/5/1/1/5/3/4/PDC2008ShowOffSilverlight2SpectrumAnalyzer_ch9.wmv.

Disponibile anche il codice sorgente: http://silverlightuk.blogspot.com/2008/10/silverlight-2-rco-version-of-spectrum.html

Buon divertimento

Posted: dic 20 2008, 05.21 by rob | with no comments
Filed under:
Newsletter e Link

Nell'ultima nostra newsletter, come avrete notato, 4 dei 16 link, non portavano da nessuna parte.

Putroppo il nostro motore di mailing ha avuto un problema durante la creazione dei tracked link e abbiamo dovuto investigare spulciando il database per capire cosa aveva fatto: abbiamo scoperto che aveva inserito alcuni "Blank" nei link e quindi le redirect andavano nel pallone. Abbiamo fixato il problema stanotte.

Ci scusiamo per il disguido.

Posted: dic 16 2008, 01.20 by rob | with no comments
Filed under: ,
Windows Vista SP 1 Update Failed 0x800b0100

Dall'uscita del Service Pack 1 di Vista, il mio portatile non riusciva a fare più gli update di Windows Update.

Dopo aver provato più volte a cercare la soluzione su Google, TechNet, MSDN e supporto tecnico, provando varie soluzioni, ho sbloccato la situazione involontatariamente.

Visto che dopo aver configurato il server Exchange per la posta, anche questo da una quindicina di giorni aveva smesso di funzionare, ho fatto il Repair di Office 2007 e magicamente gli update hanno ricominciato a funzionare.

Hope useful

DotNetToscana

Da buon toscanaccio, segnalo la nascita dello User Group Toscano su .NET, che, come recita la home page, è gruppo senza fini di lucro, per favorire il dialogo e lo scambio di conoscenze ed esperienze tra persone che vivono, studiano e/o lavorano nella mia terra natale.

Sul sito Forum, Blog, Wiki, sezione download e per il 2009 alcuni eventi live.

Per conoscere in video alcuni dei fondatori, sulla home page trovate l'intervista di Pietro Brambati a Marco, Matteo e Andrea.

Questo il link alla home page dello user group: http://dotnettoscana.org/.

Buon lavoro a tutti.

Posted: dic 07 2008, 06.14 by rob | with no comments
Filed under:
Articoli Visual Studio Team System 2010 e .NET 4.0

Nelle scorse settimane ho pubblicato questa serie di articoli introduttivi su VSTS 2010 e .NET 4.0.

Visual Studio Team System 2010

Intro Parte 1 : http://blogs.devleap.com/articolidevleap/archive/2008/10/17/visual-studio-team-system-2010-primo-contatto.aspx

Intro Parte 2: http://blogs.devleap.com/articolidevleap/archive/2008/10/26/visual-studio-team-system-2010-primo-contatto-parte-2.aspx

Parte 3 Testing & Dubugging: http://blogs.devleap.com/articolidevleap/archive/2008/11/30/visual-studio-2010-primo-contatto-parte-3.aspx

Parte 4 Analisi del codice preesistente:
http://blogs.devleap.com/articolidevleap/archive/2008/12/03/visual-studio-2010-primo-contatto-parte-4.aspx

.NET 4.0

Workflow Foundation 4.0: http://blogs.devleap.com/articolidevleap/archive/2008/11/17/workflow-foundation-4-0-introduzione-alle-ctp-ottobre-2008.aspx

Dublin: http://blogs.devleap.com/articolidevleap/archive/2008/11/14/dublin-windows-application-server.aspx

Nella nostra prossima conferenza, DevCon 2009, avremo modo di approfondire questi temi.

Questi tutti i link verso i nostri post su Visual Studio Team System 2005/2008 divisi per edizione:

Architect

http://blogs.devleap.com/rob/archive/2005/12/29/6428.aspx

http://blogs.devleap.com/rob/archive/2007/10/15/visual-studio-team-system-2008-architect-power-tools.aspx

http://www.devleap.com/document.aspx?id=3837

http://blogs.devleap.com/rob/archive/2006/09/24/14243.aspx

http://blogs.devleap.com/rob/archive/2006/01/27/6584.aspx

http://blogs.devleap.com/rob/archive/2005/12/29/6428.aspx

http://blogs.devleap.com/rob/archive/2005/09/12/5706.aspx

Developer e Tester

http://blogs.devleap.com/rob/archive/2008/09/10/vsts-2008-sp1-web-test.aspx

http://blogs.devleap.com/rob/archive/2007/08/21/visual-studio-2008-for-mobile-dev-e-non-solo.aspx

http://blogs.devleap.com/rob/archive/2007/07/16/workflow-custom-activity-e-vsts-unit-test.aspx

http://blogs.devleap.com/rob/archive/2005/12/30/6434.aspx

http://blogs.devleap.com/rob/archive/2005/09/12/5705.aspx

http://blogs.devleap.com/rob/archive/2006/01/30/6608.aspx

Database Edition

http://blogs.devleap.com/rob/archive/2007/08/20/vsts-for-db-pro-power-tools.aspx

http://blogs.devleap.com/rob/archive/2007/07/28/vsts-for-db-pro-service-release-1.aspx

http://blogs.devleap.com/rob/archive/2007/02/02/vsts-for-db-pro-aggiunta-e-successivo-refactor-di-un-campo.aspx

http://blogs.devleap.com/rob/archive/2007/02/02/vsts-for-db-pro-schema-update-per-aggiunta-campo.aspx

http://blogs.devleap.com/rob/archive/2007/02/01/vsts-for-db-pro-schema-update-con-merge-replication.aspx

http://blogs.devleap.com/rob/archive/2006/12/25/15649.aspx

http://blogs.devleap.com/rob/archive/2008/09/17/microsoft-174-visual-studio-team-system-2008-database-edition-gdr-august-ctp.aspx

TFS

http://blogs.devleap.com/rob/archive/2008/09/09/tfs-2008-sp1-problem.aspx

http://blogs.devleap.com/rob/archive/2008/09/09/tfs-2008-sp1-problem.aspx

http://blogs.devleap.com/rob/archive/2008/09/06/visual-studio-team-system-web-access-2008-sp1-power-tool.aspx

http://blogs.devleap.com/rob/archive/2007/11/20/team-foundation-server-2008-upgrade.aspx

http://blogs.devleap.com/rob/archive/2005/09/03/5645.aspx

http://blogs.devleap.com/rob/archive/2005/12/05/6330.aspx

http://blogs.devleap.com/rob/archive/2006/03/30/7085.aspx

Errore 29045 sulla Merge Replication

Questo errore significa un po' tutto :-) e spesso viene fuori per errori molto generici: usando la funzione ShowError che trovate sul mio sito www.thinkmobile.it nella sezione download si ricavano i vari errori della collection Errors della SqlCeException ricevuta dal client.

A parte questo, oggi, da un cliente, non riuscivo più a creare una sottoscrizione ad una semplicissima pubblicazione, quando, fino a qualche settimana fa non avevo nessun problema: dopo un po' di indagini, dando la colpa a qualcosa riguardante la security, alla fine abbiamo scoperto che il Service Pack 1 di Visual Studio 2008 "sput...." la configurazione dell'agente di merge server-side: avendo VS installato sul mio portatile insieme alla parte di replica è successo il casino quando un mesetto fa ho installato il SP1.

Per risolvere il problema abbiamo provato a reinstallare, fancedo repair, i server tools (tra l'altro questi componenti non sono presenti sul service pack 1 di visual studio 2008), ma niente da fare. Anche rilanciando il web configuration wizard la dll non veniva ricopiata nella virtual directory di IIS che aveva ancora la versione di dicembre 2007 (ovvero la 3.5 normale).

E' stato necessario cancellare a mano la dll (fermando IIS che gelosamente la bloccava) e poi rilanciare il wizard (o se preferite basta una copia manuale).

Per il download dei vari componenti potete fare riferimento a questo mio post: http://blogs.devleap.com/rob/archive/2008/09/17/sql-ce-3-5-sp1-mobile-e-non.aspx

Tutto è bene ciò che finisce bene.

Hope useful

Posted: nov 19 2008, 01.57 by rob | with no comments
Filed under: ,
TFS Power Tools 2.3

E' stata rilasciata una nuova versione dei Power Tools per Team Foundation Server: http://www.microsoft.com/downloads/details.aspx?FamilyID=FBD14EEA-781F-45A1-8C46-9F6BA2F68BF0&displaylang=en

Occhio alla disinstallazione (leggere il doc scaricabile dal link riportato) della versione precedente.

Posted: nov 15 2008, 01.30 by rob | with no comments
Filed under:
TFS 2008 e WSS 3.0: spostare l'url ?

Eseguendo un upgrade di WSS 2.0 su WSS 3.0 per la parte SharePoint di Team Foundation server occorre impostare nella configurazione di TFS il nuovo path per il sito amministrativo di SharePoint. In questo modo quando si crea un nuovo progetto in TFS.

Durante l'upgrade di WSS 3.0 probabilmente il nuovo sito amministativo di SharePoint viene agganciato ad una porta Http diversa. Se TFS punta ancora al vecchio url non è in grado di creare nuovi progetti Team Project.

Dalla versione 2008 è disponibile il comando TFSAdminUtil che trovate nella directory C:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\Tools. La directory è ancora quella di 2005 se avete eseguito l'upgrade da TFS 2005 a TFS 2008.

Tramite il comando tfsadminutil configureconnections /view è possibile visualizzare le varie connessioni di TFS verso gli altri prodotti, fra cui WSS.
TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation.  All rights reserved.

There is no current VSTS client certificate configured.  This is not an error co
ndition.
Current value for ATUri               = http://TFSROB:8080
There is no current setting for PublicATUri.  This is not an error condition.
Current value for SharepointUri       = http://tfsrob:80
Current value for SharepointSitesUri  = http://tfsrob:80/sites
Current value for SharepointAdminUri  = http://tfsrob:17012/_vti_adm/admin.asmx
Current value for SharepointUnc       = \\tfsrob\Sites
Current value for ReportsUri          = http://tfsrob:80/Reports
Current value for ReportServerUri     = http://tfsrob:80/ReportServer/ReportServ
ice.asmx
Current value for Team System Web Access Work Item Editor    =
Current value for Team System Web Access Changeset Details    =
Current value for Team System Web Access Difference    =
Current value for Team System Web Access View    = 

Come si può notare l'url verso il sito di Amin di SharePoint è http://tfsrob:17012/_vti_adm/admin.asmx. Le restanti configurazioni riguardano Reporting Services e l'url per l'accesso ai siti "normali" di WSS che rappresentano i vari Team Project.

Utilizzando

tfsadminutil configureconnections /SharepointAdminUri:http://tfsrob:33335/_vti_adm/admin.asmx

TfsAdminUtil - Team Foundation Admin Utility
Copyright (c) Microsoft Corporation.  All rights reserved.

Successfully set SharePoint Admin URI to specified value http://tfsrob:33335/_vti_adm/admin.asmx

Si può facilmente modificare l'url.

Oltre a questa semplice modifica occorre modificare i template utilizzati durante la creazione di un nuovo progetto per utilizzare il formato WSS 3, altrimenti si incorre in questo errrore:
"TF30267: Windows SharePoint Services version 2 templates are not supported in this version of the product."

Per farlo occore eliminare i vecchi template e eseguire l'upload dei nuovi. Il metodo più semplice è il seguente:

1) Scaricare lo zip da quì: http://bloggingabout.net/media/p/69832.aspx
2) Eseguire i seguenti passi dopo aver scompattato lo zip

stsadm syntax: stsadm -o deletetemplate -title VSTS_MSFAgile

stsadm -o addtemplate -filename X:\VSTS_MSFAgile.stp -title VSTS_MSFAgile

stsadm syntax: stsadm -o deletetemplate -title VSTS_MSF_CMMI

stsadm -o addtemplate -filename X:\VSTS_MSF_CMMI.stp -title VSTS_MSF_CMMI

iisreset

Hope useful

Posted: nov 10 2008, 05.07 by rob | with no comments
Filed under:
Visual Studio Team System 2010: primo contatto (parte 2)

Ho pubblicato una seconda serie di informazioni sulla nuova versione di Visual Studio Team System 2010.

Code Metrics: qualche spiegazione

Con VSTS 2008 è arrivato un nuovo sistema di calcolo sulla bontà della nostra soluzione software: è sufficiente eseguire Tasto Dx su un progetto e scegliere Calculate Code Metrics.
Il tutto viene riepilogato in questa tabellina per ogni classe/metodo (esportabili in excel)

Cosa significano questi valori ?

Maintainability Index 0 – 100 (più alto = meglio)
Basato su Halstead Volume, Cyclomatic Complexity e Lines of Code

Cyclomatic Complexity
Conta i Code Path (if, while, switch, for....)
Se troppo alto servono più unit test per arrivare ad una buona copertura del codice: in pratica il codice risulta meno manutenibile

Depth of Inheritance
Rappresenta il livello gerarchico delle classi.
Se troppo alto diventa difficile capire da dove arrivano le “cose” ereditate

Class Coupling
Good Software is high coesive and low coupling
Se alto indica troppe interdipenze fra tipi
Il calcolo non considera i tipi built-in

Lines of Code
Calcolo approssimativo basato su IL
Non conta commenti, dichiarazioni di tipi/membri/namespace
Numero alto: forse il metodo o la classe fa troppo

Valori corretti
Anche se non esiste una regola applicabile a tutti gli scenari queste le indicazioni di massima.
Le indicazioni arrivano da FxCop (Code Analysis in Visual Studio) per cui esistono questi valori massimi. Se superari il Code Analysis emette un warning.
Accanto ad ogni elemento il codice la regola relativa.

Depth of Inheritance : CA1501 > 5
Complexity: CA1502 > 25
Maintainability Index: CA1505 > 20
Class Coupling: CA1506
> 80 per classi
> 30 per metodi

Non si può impedire un check-in sui calcoli effettuati da Code Metrics, esistendo le 4 regole sopra citate (sono sotto Maintainability Rules) si possono impostare le ckeck-in policy comunque.

Hope useful

Posted: ott 20 2008, 05.25 by rob | with no comments
Filed under: ,
Visual Studio Team System 2010: primo contatto

Ho pubblicato questo mini articolo, a cui seguiranno altri due o tre appuntamenti su Visual Studio Team System 2010.

http://blogs.devleap.com/articolidevleap/archive/2008/10/17/visual-studio-team-system-2010-primo-contatto.aspx

TEST

 Test.

Ormai da varie versioni SQLCE 3.x gira anche su ambiente Desktop e dalla versione 3.5 si sono differenziate le caratteristiche (o per meglio dire il supporto rispetto ad altre tecnolgie) della versione Desktop rispetto alla versione Mobile.

Ad esempio é possibile utilizzare LINQ to SQLCE ma solo in ambiente Desktop.

Con l'arrivo del service pack 1 di .NET e Visual Studio le differenze e l'installazione si é ulteriormente differenziata.

SQLCE 3.5 SP1 per Desktop

Fornisce il provider per ADO.NET Entity Framework
Supporta la collation case-sensitive
Supporta 64 bit nativamente: non occorre forzare WoW X86.


SQL CE 3.5 SP1 Mobile e non

Ormai da varie versioni SQLCE 3.x gira anche su ambiente Desktop e dalla versione 3.5 si sono differenziate le caratteristiche (o per meglio dire il supporto rispetto ad altre tecnolgie) della versione Desktop rispetto alla versione Mobile.

Ad esempio é possibile utilizzare LINQ to SQLCE ma solo in ambiente Desktop.

Con l'arrivo del service pack 1 di .NET e Visual Studio le differenze e l'installazione si é ulteriormente differenziata.

SQLCE 3.5 SP1 per Desktop

Fornisce il provider per ADO.NET Entity Framework
Supporta la collation case-sensitive
Supporta 64 bit nativamente: non occorre forzare WoW X86.

Il SP1 si installa automaticamente con il setup di Visual Studio 2008 SP1 oppure si puó scaricare a parte il runtime x86 o x64 a partire da http://www.microsoft.com/downloads/details.aspx?FamilyID=dc614aee-7e1c-4881-9c32-3a6ce53384d9&displaylang=en

L'upgrade avviene inplace (anche su eventuali versioni beta del SP1).

Se l'installazione si esegue dal SP1 di VS 2008 viene installato anche il Microsoft SQLCE 3.5 SP1 Design Tools che consente appunto l'integrazione nei classici strumenti di Visual Studio come ad esempio lo Schema Design.

Con entrambe le tipologie di installazione viene installato anche il SP1 di ADO.NET Synchronization Service for Windows Desktop che abilita, come promesso, l'utilizzo della versione 1.0 dei SyncService anche verso SQLCE, SOLO DESKTOP, non per le installazioni su Windows Mobile (vedere più avanti nel post per la parte WM)

SQLCE 3.5 SP1 for Mobile Devices

L'installazione del SP1 di VS 2008 non installa la versione mobile del runtime di SQLCE 3.5 SP1. Occorre quindi SEMPRE scaricare a mano e installare questa versione: http://www.microsoft.com/downloads/details.aspx?FamilyId=FCE9ABBF-F807-45D6-A457-AB5615001C8F&displaylang=en

Così come non viene installata la parte di Microsoft Synchronization Services for ADO.NET 1.0 per la parte device che si può scaricare (uscita ieri) da quà: http://www.microsoft.com/downloads/details.aspx?FamilyId=75FEF59F-1B5E-49BC-A21A-9EF4F34DE6FC&displaylang=en

Entrambi i componenti girano su Windows Mobile 5.0, Windows Mobile 6.0, Windows CE 5.0 e Windows CE 6.0 e sono supportati dal .NET Compact Framework 2.0 SP2 in avanti.

SQLCE 3.5 SP1 può girare anche Windows Mobile 2003 e CE 4.2.

Server Tools

La parte server (i Server Tools) vanno, come sempre, scaricati e installati a parte
http://www.microsoft.com/downloads/details.aspx?FamilyId=FA751DB3-7685-471B-AC31-F1B150422462&displaylang=en. In questo caso occorre disinstallare prima a mano tutte le versioni precedenti, e come sempre, se avete IIS7 occorre abilitare anche i componenti di compatibilità di IIS. Anche i server tool finalmente girano a 64 bit !!!

Books online

Anche i Books online (che forniscono le info su ADO.NET EF) vanno scaricati e installati a parte: http://www.microsoft.com/downloads/details.aspx?FamilyId=07829770-73A7-41E4-880D-E74B1A353623&displaylang=en. Sono presenti anche esempi di funzionamento.

Per installare i Books online di ADO.NET Sync Service: http://www.microsoft.com/downloads/details.aspx?FamilyId=02989F70-49AA-43D7-81B8-A651120F8D65&displaylang=en

Posted: set 17 2008, 07.51 by rob | with 2 comment(s)
Filed under: ,
Microsoft® Visual Studio Team System 2008 Database Edition GDR August CTP

Rilasciata la nuova CTP. L'obiettivo della "versione" GDR é estendere le funzionalitá della Database Edition di VSTS.

In questa versione troviamo:

  • Supporto per SQL 2008
    • dataype e nuovi statement DD
  • Server Project
    • Contengono le impostazioni del DB
    • Vengono referenziati dai progetti DB
    • Possono quindi contenere impostazioni riutilizzabili in diversi progetti
  • Partial Project
    • Consentono di fare Code Sharing su diversi progetti di oggetti comuni
  • Composite Project
    • Reference verso altri progetti DB
    • Si puó quindi includere la defininizione di oggetti presenti in altri progetti all'interno di un progetto DB: molto comodo se esiste una separazione fra oggetti creati dal DBA (ad esempio utenti, ruoli) rispetto a oggetti quali tabelle, stored procedure, function etc
  • SQL-CLR Reference
    • Verso un progetto DB (quello di VS normale)
    • Verso un assembly SQL-CLR
    • Diventano ASSEMBLY nel database target
  • Build & Deploy
    • Diventano due fasi distinte
    • La prima produce uno schema
    • La seconda esegue il deploy dello schema
    • Si puó quindi separare la fase di generazione dello schema dalla sua effettiva installazione. Molto comodo per creare pacchetti di setup personalizzati
  • Refactoring Preserve of Intent !!!
    • Ad esempio un rename viene mandato al DB come rename e non come remove/add
  • Estensibilità su tutti i fronti: Dgen, Test Condition, Refactoring Type, etc
  • Schema Compare
    • Si possono finalmente comparare Progetti diversi
    • Filtri per Object-Type
  • T-SQL Code Analysis
    • Si possono creare regole custom
  • Unit Test
    • Non solo verso SQL Server
    • Si basa sui provider ADO.NET
  • Data Generation
    • Usa SqlBulkCopy
    • Consente di generare file in formati diversi (ad esempio txt o xls)
Posted: set 17 2008, 07.25 by rob | with 2 comment(s)
Filed under:
GAX GAT e Visual Studio 2008

Dopo aver installato il SP1 di Visual Studio 2008, la mia installazione di Guidance Automation Extension ha smesso di funzionare. L'errore è "Impossible to". La domanda è To COSA ??? Ho provato a mettere i regional settings in italiano e il messaggio è diventato giustamente "Impossibile avviare" :-)

Ho pensato a qualche problema di installazione di chiavi di registry o cose simili visto che GAX è integrato in VS. Ho provato il ripristino da Add/Remove Program/Features ma niente da fare. Ho pensato quindi di disinstallare GAT e poi GAX (come da corretto ordine): mentre GAT si è disinstallato, GAX durante la disinstallazione mi ha dato il seguente problema

Molto chiaro il messaggio :-)

L'unica soluzione che ho trovato e che spero aiuti molti dei nostri clienti che usano GAT/GAX è la seguente:

1) Deregistrare tutti i package: per farlo occorre riaprire tutte le solution GAT e fare Unregister, ricordando che se non avete i sorgenti...niente da fare...il che è un casino sulle macchine dei vari developer che usano GAX, ma che, giustamente non hanno GAT installato.
2) Disinstallare tutti i package installati tramite MSI (ricordo che molti Software Factory della parte pattern&practices installano i loro package)

Se non avete voglia di fare tutto questo a mano esiste un tool scaricabile da http://softwarefactoriestoolkit.net/GaxTroubleshooter.zip, da lanciare via command-prompt (come administrator) che tramite /removegax toglie le chiavi di registry associate ai package installati e rimuove GAX.

Poi ho reinstallato GAX e GAT e riregistrato tutti i pacchetti.

More Posts Next page »