Roberto Brunetti

Developing in the cloud

.NET Programming

settembre 2008 - Posts

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.

VSTS 2008 SP1 Web Test

Un web test creato con il SP1 di Visual Studio non viene correttamente eseguito dalla versione senza Service Pack 1. Occhio quindi ad aggiornare con il SP1 di Visual Studio Team System anche la macchina che fa da Build Server, altrimenti i test lanciati in automatico durante la Build non vengono eseguiti.

Il messaggio di errore è il seguente:

Request failed: Could not run Web test 'WebPartVenditoriList' on agent 'TFSROB': Method not found: 'Void Microsoft.VisualStudio.TestTools.WebTesting.WebTestContext..ctor(System.Collections.Generic.Dictionary`2, Int32, System.String, System.String, Int32, Int32, Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel)'.

at Microsoft.VisualStudio.TestTools.WebStress.WebTestCaseContext..ctor(WebTestCaseVariation variation, Int32 webTestIteration, Hashtable runContextParameters)
at Microsoft.VisualStudio.TestTools.WebStress.WebTestCaseVariation..ctor(WebTestElement webTestElement, Hashtable runContextParameters)
at Microsoft.VisualStudio.TestTools.WebStress.WebTestElement.CreateVariation(IRunContext runContext)
at Microsoft.VisualStudio.TestTools.WebStress.WebTestRunner.StartupVariation()
at Microsoft.VisualStudio.TestTools.WebStress.WebTestRunner.PlaybackThread()

Posted: set 10 2008, 03.09 by rob | with 2 comment(s)
Filed under:
TFS 2008 SP1 Problem

Dopo aver installato il SP1 di TFS su un mio server ho riscontrato il seguente problema: i cubi OLAP utilizzati dai vari report di TFS non si aggiornavano più. Dopo molte investigazioni ho scoperto che il servizio Visual Studio Team Foundation Server Task Scheduler era fermo. Ho provato a riavviarlo ed è partito normalmente.

Il problema sta nelle tempistiche di partenza dei vari servizi: visto che non è impostata alcuna dipendenza il servizio incriminato cerca di effettuare una connessione a TFS, ma il resto dei servizi non sono ancora partiti e quindi TFS non è ancora "pronto". Credo che il problema derivi dal fatto che il servizio di scheduling è ancora quello di TFS 2005, ma fino all'installazione del SP1 non avevo mai avuto questo problema.

Ho risolto impostando un retry dopo 5 minuti sul servizio: soluzione un po' casareccia ma efficace.

Hope useful.

Posted: set 09 2008, 05.22 by rob | with 2 comment(s)
Filed under:
ADO.NET Data Services Silverlight 2 Beta 2 Client Refresh

Versione aggiornata e compatibile con la parte Data Service del .NET 3.5 SP1 finale.

http://www.microsoft.com/downloads/details.aspx?FamilyID=cf8f88c3-d869-46de-a7bf-fb7712c791b7&displaylang=en

Cos'é ? Vedere questo mio post (in fondo):http://blogs.devleap.com/rob/archive/2008/04/18/asp-net-3-5-extension-futures-mvc-preview-2-extension-preview-data-service-dynamic-data-silverlight-dinamic-language-ado-net-sync-service-e-sync-framework.aspx

Posted: set 06 2008, 04.13 by rob | with no comments
Filed under: ,
Visual Studio Team System Web Access 2008 SP1 Power Tool

Rilasciato da una settimana, oggi ho avuto modo di provare la versione finale del famoso Team Plain per TFS ormai ridenominato come da subject da qualche tempo.

Le funzionalitá aggiunte dal SP1 rispetto alla versione RTM sono (riporto direttamente dal manuale)

  • Work item only view for users without a client access license. [Previously known as Work Item Web Access (WIWA) feature]
  • Run a single instance with multiple languages.
  • Create work items with initial values by using a URL.
  • Share ad-hoc work item queries by using a URL.
  • Find and view Shelvesets.
  • Improved work item search syntax.
  • Posted: set 06 2008, 04.05 by rob | with 2 comment(s)
    Filed under:
    SharePoint Conference 2008

    Ho terminato i contenuti della mia sessione alla Microsoft SharePoint Conference 2008.

    La sessione Using Visual Studio Team System with SharePoint Project ha l'obiettivo di mostrare gli strumenti di Visual Studio Team System per supportare il ciclo di sviluppo di un software.

    Questa la descrizione completa
    Sviluppare un progetto SharePoint, sia esso una estensione del portale piuttosto che la definizione di workflow custom, significa fondamentalmente sviluppare un progetto software con Visual Studio e di conseguenza coordinare le attività dalla fase progettuale alla realizzazione finale, dalla gestione delle versioni dei sorgenti e dei rilasci al tracciamento dei bug. Visual Studio Team System è il prodotto per gestire queste fasi. In questa sessione only-demo vedremo Team System all’opera su un progetto SharePoint.
    N.B. La sessione si focalizza sugli strumenti messi a disposizione da Visual Studio Team System 2008 ed é quindi consigliata a chi vuole scoprire le funzionalitá del prodotto per un suo utilizzo anche al di fuori di progetti SharePoint.

    L'idea é partire con il disegno dell'applicazione nell'Application Diagram (l'applicazione é su 9 layer e segue un modello semplificato dell'architettura che usiamo in DevLeap per lo sviluppo di applicazioni reali: chi ha partecipato alle nostre conference o segue i nostri corsi lo conosce bene) impostando i settaggi applicativi che si riflettono nella configurazione dell'applicazione. Questi settaggi vengono poi confrontati con i parametri dei server che ospitano l'applicazione (LDD) e consentono di produrre "gratuitamente" report sul deployment delle varie componenti.

    Una applicazione che estende il portale SharePoint lavora sicuramente su un Database: in questo caso, tramite i vari layer arriviamo su un semplice database SQL Server (non ha senso complicarsi la vita con 1000 tabelle per capire gli strumenti, anzi) che viene gestito nel suo ciclo di vita tramite Data Dude (Database Edition di Team System): vedremo all'opera gli strumenti di refactoring, di generazione automatica di dati di esempio, la creazione di unit test su stored procedure e sul codice del Data Access Layer e ci soffermeremo sul deploy automatizzato tramite Team Build.

    Si prosegue con gli strumenti prettamente Dev come Unit Testing, Code Coverage e Code Analysis per poi effettuare una Performance Session sul codice creato. Vedremo questi strumenti sul codice che lavora con SQL e sul codice che opera tramite il modello ad oggetti di SharePoint sulle SPList (Announcement in questo caso). Ancora una volta il codice é molto semplice per evitare di complicare la descrizione delle operazioni da effettuare e andare dritti all'obiettivo.

    Dedichiamo un attimo di tempo alla Team Build per automatizzare il processo di compilazione, deploy, esecuzione degli Unit Test e calcolo delle informazioni di Code Coverage.

    Inseriremo una regola custom per effettuare l'analisi del codice rispetto ad una nostra regole nel naming convention su progetti SharePoint: ancora una volta l'obiettivo é dimostrare come si effettua questa personalizzazione in Team System.

    Prepareremo un Web test con constraint su durata e contenuto della risposta per poi vedere all'opera un Load Test che stressa l'applicazione web e il codice di accesso ai dati.

    Una applicazione SharePoint richiede un particolare processo per la sua installazione sul portale: vedremo come personalizzare il processo automatico di Build per inserire il risultato (.wsp) direttamente nel sito SharePoint di test.

    Ci vediamo alla Microsoft SharePoint Conference 2008
    .

    Posted: set 06 2008, 11.36 by rob | with no comments
    Filed under: ,
    [OT] Quando lo SPAM é divertente

    Post da post-ferie (anche se in realtá ne ho fatte ben poche). Di solito i filtri anti-spam sui server mi bloccano il contenuto, altri messaggi passano e vengono inseriti in junk-mail da Outlook, altre volte arrivano nella Inbox e faccio Canc. Oggi stavo aggiornando un secondo PC con il SP1 di VSTS 2008 e mi sono messo a leggere i messaggi. Ne riporto qualcuno, sono spettacolari: in bold il subject.

    Rado Orologi Hanno Certamente Accessibili e ad
    Come dice che sacchetti sono sempre incarnato? Ci si sacchi molto economici. L'ordine affrontato immediatamente e si zurfieden. Aspetto si ispirera, date un'occhiata di tanto in tanto.

    Gucc puo Anche Essere Molto Economici Cassetta
    E la fine di ogni tasca, ma non solo in tasche, ma anche costosi orologi, abiti di lusso costoso e altre cose. Un molto veloce e poco costoso, posso assicurare. Sono felice, pure, ci impegniamo a voi.

    La Sua Ragazza non ti amo piu  L'Ordine
    Infine, ottenere cio che si meritano. Completamente solo pittori e costosi sacchi. Il nostro valigie sono state veramente felice che siamo in grado di garantire a voi. Potrete trovare tutto qui e ora.

    Abbiamo Tutti i Segni Di Borse di Studio Ora
    I dati sono costose e prezzi molto bassi. Non dire che questo non e vero. Noi tutti siamo assolutamente perfetto pittori borse e spedito a casa. Let's dirla correttamente, anche quando il teursten tasche.

    Chi ha detto, che il studente deve essere povero? Il studente puo` essere ricco!
    Buona sera

    Lei puo` fare cose buone ed avere per quello un guadagno discreto.

    Siamo l'europeo negozio on-line di electronics.

    Regolarmente facciamo il sortewggio di 45 voucher a Canares di prezzo di 1 3990 euro tra i nostri collaboratori!

    Se Lei e` interessato scriva alla mia email privata e presto Le immancabilmente!

    mentre studi, si puo` trovare avvincente affare perche sia stato piu` allegro.
    La invitiamo a lavoro aiutante.

    Vendiamo TV in diversi paesi.

    Tutti i collaboratori ha lo sconto di 20% per tutte le merci del nostro negozio.

    Sono pronto di raccontarLa ancora scriva alla mia email privata e entro 1-2 giorni Le immancabilmente!

    Cordiali Saluti

    Fatturato non e Solo i Migliori Offerte
    Gioielli, interminabili, puo promettere. Casi in cui una donna felice, sappiamo gia bene. Chiedere tasca molto rapidamente dopo ciascuna delle nausea, ora e per pagare con carta di credito.

     

    -----

    Sono quasi meglio delle traduzione automatiche delle sessioni della nostra DevCon 2007 di cui riporto il post (http://blogs.devleap.com/rob/archive/2007/05/11/ot-i-traduttori-automatici.aspx)

    Stavamo facendo gli ultimi modifiche al sito per chiudere le iscrizioni a DevCon 2007 e per sbaglio ho premuto il pulsante di traduzione della pagina da Google.

    Volete sapere le sessioni più interessanti :-)

    DBS02 Può lo SQL comprimere l'edizione effettua una singola occhiata record con le file 100K in 0.01 sec? Sicuro!

    TEC02 Nozze 2007 di SharePoint con il fondamento di Workflow

    LAN01 Che cosa è la fila di destra per LINQ?

    Ma questa non ha eguali:

    Il grippaggio del fondamento di presentazione di Windows ha rivelato

    Anche questa non è male

    Generics di potenza d'una leva oggi, lambda-espressioni e metodi di estensione domani

    E ovviamente tutte le sessioni saranno tenute dagli altoparlanti :-) 

    ----------

    Ha finito l'aggiornamento, ritorno a sviluppare.