image Mit Visual Studio LightSwitch bringt Microsoft eine vereinfachte uasgedünnte Version von Visual Studio 2010 auf den Markt, die sich auch für “Nicht”-Entwickler von Geschäftsanwendungen eignet. Damit ist wohl größtenteils die Zielgruppe von Microsoft Access Entwicklern gemeint.

Mit LightSwitch vereinfacht enorm die Arbeit mit Daten, z.B. um diese zu filtern, anzulegen oder zu manipulieren. Dateneingaben können automatisch validiert aber auch genau so gut leicht individuell validert werden.  Ebenso leicht ist das Verbinden von Datensätzen in verschiedenen Datenquellen. LightSwitch unterscheidet dabei zwischen lokalen Datenquellen und externen wie vom SQL Server, Sharepoint, oder den WCF RIA Services. – Ich kann es kaum erwarten LightSwitch mit einem vorhandenen RIA Service zu testen.
Durch die Sharepoint-Datenquelle ist es  kinderleicht vorhandene Datenlisten in LightSwitch einzubinden.

Eine knappe Zusammenfassung der Funktionsweise von LightSwitch findet man hier:
VIDEO: Visual Studio LightSwitch - Zusammenfassung

Zur Website von Visual Studio LightSwitch gehts hier:

Visual Studio LightSwitch

Dort findet man auch noch eine längere ausführliche Präsentation.

 

Ich bin gespannt auf LightSwitch und könnte mir vorstellen, dass damit das Verwalten von Daten eigener serverseitiger (RIA) Services noch schneller von der Hand geht und so auch noch angenehmer werden wird.


 
Categories: .NET | Visual Studio

Seit einiger Zeit habe ich Probleme mit dem Firefox Browser in der Version 3.6.6 gehabt. Egal welche Flash-Seite ich mir angesehen habe, meistens nach 1-2 Sekunden hing der Browser. Aufgrund des vorherrschenden Workloads, konnte ich mich bisher aber nicht dazu durchringen, der Sache auf den Grund zu gehen, und habe so lange mit dem IE weitergesurft.

Erst als Silverlight 4 ebenfalls Zicken gemacht hat, bin ich der Sache endlich nachgegangen. -Wer ähnliche Erfahrung machen musste, dem könnte der folgende Tipp vielleicht helfen.

Seit Firefox 3.6.4 werden Browser-Plugins in einen Plugin-Container (plugin-container.exe) ausgelagert ausgeführt. Dadurch kann es auch sein, dass man keine Debug-Punkte in der Silverlight 4 Anwendung mehr nutzen konnte, weil der Prozess (firefox.exe) nun falsch war. – Zumindest war es so bei mir.

Leider führen die Plugin-Container bei mir zu einem kompletten Stillstand des Browsers, an anderer Stelle wird ebenfalls von Performanceeinbußen berichtet.

Um sich von den Plugin-Containern zu trennen, ruft man die Konfigurationsseite des Firefox Browsers auf:

about:config 

Dort filtert man dann nach:

dom.ipc.plugins.enabled.*

und setzt dort die Konfigurationseigenschaften auf: false

image

Nach dem Neustart des Browsers sollten die Plugin-Container nicht länger genutzt werden. Die alte gewohnte Performance ist wieder da, und ich kann noch keinen Hänger verzeichnen.

Stichwörter:
  • Firefox hängt Flash
  • Firefox hängt Silverlight
  • Firefox 3.6.6 hängt Flash
  • Firefox 3.6.6 hängt Silverlight

 
Categories: Silverlight

vs_hotfix Seit dem 04.08.2010 steht bei Microsoft Connect ein neuer Hotfix namens KB2201993 zum Download bereit. Dieser soll nach Aussage von Anh Phan (Visual Web Developer Team) einen Crash beheben, der beim Wechsel auf die Design-Ansicht (Web) ausgelöst werden könnte, wenn auf der Seite viele Controls in einem Edit-Bereich enthalten sind, z.B. in einer View oder einem Panel.

Wer ähnliche Erfahrung im Web-Designer gemacht hat, so ist diesem der Hotfix dringend zu empfehlen.

Den Download des Visual Studio 2010 Hotfix: KB2201993 findet man unter folgender URL:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=30462


 
Categories: .NET | C# | Visual Studio

July 13, 2010
@ 12:56 PM

Die Stimmen von Yoda und Darth Vader sind jetzt auch auf Deutsch für den TomTom erhältlich.

Kostenpunkt: 9,95€

Eine Hörprobe findet man auf der Offiziellen TomTom Seite, direkt dort hin geht es hier:

http://starwars.tomtom.com/voices/index-starwars.php?Lid=3&voice=darthvader

 

Wer kein TomTom Gerät hat, sollte sich dennoch die Aufnahme-Videos im Tonstudio von den beiden nicht entgehen lassen.

Darth Vader Recordings:




Yoda Recordings:


 
Categories: Games & Entertainment

Ein Weltklasse Werbespot von der Firma Adidas mit David Beckham, Daft Punk, Snoop Dogg, Franz Beckenbauer, Noel Gallagher, Ian Brown, Ciara, Jay Baruchel und DJ Neil Armstrong.

Aber sehen Sie selbst, wie David Beckham mit Greedo verhandelt.


 
Categories:

May 18, 2010
@ 04:32 PM

Die MSDN Blog-Parade geht in die zweite Runde! Mitmachen und gewinnen!

MSDN Deutschland veranstaltet wieder eine Blog-Parade! Und wie beim letzten Mal, können Sie mit etwas Glück wieder eines von drei Xbox 360 Elite-Paketen inkl. zwei Spielen gewinnen! Bei der letzten Blog-Parade hatten viele Ihren Spaß dabei, Ihre favorisierten Entwickler-Tools vorzustellen. Und drei glückliche Gewinner hatten sogar noch mehr Spaß, da sie am Ende auch ein Paket von uns auspacken durften. :-)

Dieses Mal ist Ihre Kreativität gefragt! Wie Sie alle mitbekommen haben, ist das Thema Cloud Computing ein wesentlicher Bestandteil der zukünftigen Plattform von Microsoft. Aus diesem Grund wird das Thema dieser Blog-Parade sein, coole Ideen zu sammeln, was man alles mit Windows Azure machen kann. Ihrer Phantasie sind hier keine Grenzen gesetzt, ob es nun spezielle Web-Anwendungen sind oder Anwendungen, die sowohl lokal auf dem PC oder einem Windows Handy laufen, aber auch für innovative Funktionen, die die Cloud benötigen.

Viele weitere Informationen zum Ablauf der Blog-Parade können Sie im Blog Softwarehersteller in Deutschland finden. Hier finden Sie Infos, wie Sie teilnehmen können, was es zu beachten gilt und auch natürlich die Bedingungen für die Verlosung!

Ich wünsche viele gute Ideen und und auch viel Glück bei der Verlosung!

Hier geht’s zur Blog-Parade!


 
Categories: Dies und Das | Windows

silverlightHeute gab Scott Guthrie bekannt, dass die Silverlight 4 Tools for Visual Studio 2010 und  WCF RIA Services endlich zum Download bereit stehen. Im Gegensatz zu Silverlight 4 und dem Silverlight 4 SDK, welches kurz nach dem Release von Visual Studio 2010 herausgebracht wurde, musste man sich bei den Silverlight 4 Tools noch etwas gedulden. Bislang gab es nur eine RC2 Version der Tools.

In der finalen Version der Tools is Folgendes enthalten:

  • Silverlight 4 developer runtime 
  • Silverlight 4 SDK (software development kit)
  • Update for Visual Studio 2010 and Visual Web Developer Express 2010 (KB982218)
  • Silverlight 4 Tools for Visual Studio 2010
  • WCF RIA Services V1.0 for Silverlight 4
  • F# Runtime for Silverlight 4

Als wichtigen Punkt ist in dieser Liste sind die WCF RIA Services als finale Version hervorzuheben. Diese waren bislang nur als RC Verfügbar.

Vor der Installation wird dazu geraten, die RC Versionen der Pakete zu deinstallieren.

Download der Silverlight 4 Tools for VS2010


 
Categories: .NET | C# | Silverlight

Der normale Weg für ein Datenbankdesign, zumindest der, den viele Entwickler gehen, ist für eine Tabelle einen Primärschlüssel (PK) zu setzen. Dabei ist der Datentyp der “Id” Spalte meistens ein Integer (int). Dieser wird dann, meistens automatisch von der Datenbank, inkrementiert, damit er eindeutig bleibt. Doch im Zeitalter von mobilen Anwendungen ist es sinnvoller einen Datentyp zu verwenden, der nicht nur lokal bei einer Datenbank eindeutig ist, sondern auch über Datenbanken und Netze hinweg, z.B. auf dem Mobiltelefon oder einer anderen Datenbank. Für diesen Fall ist beim Microsoft SQL Server 2005/2008 der uniqueidentifier vorgesehen. Unter .NET kennt man diesen Datentypen auch als Guid. Dieser Datentyp hat den Vorteil, dass er immer eindeutig bleibt.

Dieser Weg blieb mit dem Entity Framework bislang verwehrt, wollte man die GUIDs vom Server generieren lassen. Es ist jetzt jedoch sehr wohl möglich, seit Version 4 des Entity Frameworks werden servergenerierte GUID-Typidentitätswerte unterstützt. Alle anderen Aussagen in Blogs und Forenbeiträgen unserer Internationalen Entwicklerkollegen diesbezüglich, die ich finden konnte, verweisen leider fälschlicher Weise auf eine veraltete MSDN Seite für Version 1 des EF.

Auf der aktuellen und handübersetzen MSDN Seite wird es jedoch explizit benannt, trotzdem fehlt es an einer genauen Beschreibung, wie man vorgehen muss.

 

Da ich selbst immer wieder auf Hindernisse gestoßen bin, dieses Konzept mit dem Entity Framework zu benutzen, jetzt ein klare, direkte Anleitung, wie es garantiert funktioniert.

Durchgeführt mit dem Visual Studio 2010 RTM + Silverlight 4 Tools RC2, SQLServer 2008. Funktionierenden Einsatz findet die Technik in einer Silverlight 4 Business Anwendung mit RIA Services

Am SQL-Server 2008:

  1. Tabelle mit einer Spalte, z.B. “Id”, vom Datentyp uniqueidentifier erstellen.
  2. Defaultwert der Spalte auf newid() setzen.
  3. “Id” Spalte als Primary Key setzen.

In Visual Studio 2010:

  1. Datenbank-Model für EF erzeugen.
  2. T4 Templates erstellen mit Rechtsklick ins Design “Add Codegeneration Item”.
  3. Tabellen-Entity auswählen und StoreGeneratedPattern beim Id-Property auf Identity stellen.
  4. Speichern.

Unter besten Bedingungen sollte es jetzt klappen. Leider nicht bei mir, und bei vielen anderen auch nicht. Den eigentlichen Fehler zu finden hat mich sehr viel Zeit gekostet. Er liegt im Entity Framework Designer. Es handelt sich um einen Bug beim setzen der Entityproperty-Eigenschaft StoreGeneratedPattern. Nähere Infos zum Bug sowie ein netten Kommentar eines Linq-To-Sql Fans über EF sowie der Namensgabe der Eigenschaft findet man hier.
Um den Bug zu fixen fehlt noch der wichtigste Schritt:


Der wichtigste Schritt:

  1. Den EF-Designer schließen und die edmx-Datei mit dem XML-Editor öffnen (Rechtsklick auf die Datei –> “Open with..”)
  2. Im StorageModel kontrollieren und wahrscheinlich nachtragen:

<EntityType Name="TestTabelle">
          <Key>
            <PropertyRef Name="Id" />
          </Key>
          <Property Name="Id" Type="uniqueidentifier" Nullable="false" StoreGeneratedPattern="Identity"/>
          <Property Name="Test" Type="varchar" MaxLength="50" />
</EntityType>

Jetzt sollte alles bestens funktionieren. Das selbe Prinzip ist auch bei Spalten wie z.B. “DateCreated” mit einem datetime Datentyp und einer getdate() Methode anwendbar. Einfach StoreGeneratedPattern = Identity setzen und im StorageModel, wenn nicht vorhanden, so wie oben nachtragen.

Bitte beachten, das bei Updates vom Designer diese Werte überschrieben werden können.

 

Der Vollständigkeit halber, einige Fehlermeldungen, mit denen ich in diesem Zusammenhang zutun hatte, damit Leute mit ähnlichen Problem diesen Beitrag schneller finden können:

[System.Data.SqlClient.SqlException] = {"The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated."}


 
Categories: .NET | Entity Framework

Mit Silverlight 4 ist es relativ leicht möglich OOB-Anwendungen bzw. Silverlight 4 Businessanwendungen zu entwickeln. Die Installation ist dabei kinderleicht. Ein Rechtsklick auf die Silverlight 4 Anwendung genügt, und schon steht ein Kontextmenüeintrag zur Installation bereit. Danach erscheint ein Dialog den der User bestätigen muss, um die Anwendung zu Installieren. Im Dialog kann der User selbst wählen, ob er Die Anwendung als Desktop-Icon oder Startmenü-Eintrag oder beides installieren möchte.

Nach der Bestätigung zur Installation folgt weder ein weiterer Setupdialog noch irgendeine Form von Prozentbalken, die eine Installation vermuten lässt. Die Anwendung ist einfach innerhalb von Sekunden sofort einsatzbereit. – Installieren war noch nie leichter. So werden nützliche Silverlight 4 Anwendung schnell lokal und auch offline verfügbar gemacht.

Doch was, wenn eine neue Version der Anwendung im Netz erscheint?

Die Antwort liegt auf der Hand: Automatische Updates. Und das geht wie folgt:

Silverlight 4 kommt bereits mit einer vollwertigen Update-Routine, die nur noch aufgerufen werden will. Dies erledigt man z.B. beim Starten der Applikation.

Dazu brauchen wir in die App.xaml.cs nur folgenden Codeschnipsel einfügen:

  public App()
        {
            InitializeComponent();

            if (Application.Current.IsRunningOutOfBrowser)
                {
                    App.Current.CheckAndDownloadUpdateCompleted += 
                        new CheckAndDownloadUpdateCompletedEventHandler(CheckAndDownloadUpdateCompleted);
                    App.Current.CheckAndDownloadUpdateAsync();
                
                }
        }

        void CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
        {
            if (e.Error == null && e.UpdateAvailable)
            {
                MessageBox.Show("Die Anwendung wurde aktualisiert. Bitte starten Sie die Anwendung neu.");
            }
            else
            {
                if(e.Error != null)
                    MessageBox.Show(e.Error.ToString() + “.:“ + e.Error.Message);
            }
        }

Die Methode CheckAndDownloadUpdateAsync(); prüft auf ein Update der Anwendung. Bei Vorhandensein eines Updates wird dieses geladen. Das Ergebnis wird in einem Callback-Event void CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)  zurückgegeben, den wir vorher registriert haben. Diesen können wir auswerten und entsprechend darauf reagieren. Zum Beispiel den Benutzer auffordern, die Anwendung nach einem Update neu zu starten oder einen Fehler, sofern einer aufgetreten ist, auszugeben.

Um die Funktionalität zu testen, braucht man nur eine OOB Anwendung erstellen und anschließend zu installieren. Danach genügt eine Änderung, die kompiliert werden muss, sodass es ein vermeidliches Update der Anwendung gibt. Nach erneutem Starten der Anwendung vom Startmenü erscheint die oben programmierte Updatemeldung. – So leicht kann es gehen….

Doch das ist leider nur die halbe Wahrheit. – Zum Glück!

image

Leider funktioniert der oben beschriebene Weg nur auf dem eigenem PC, und nicht auf anderen im Netzwerk und schon gar nicht im Internet. Das ist auch gut so, da jede Aktualisierung einer Anwendung auch ein potenzielles Sicherheitsrisiko ist.

Um das Problem zu lösen, müssen wir unsere Silverlight 4 OOB-Anwendung erst mit einem gültigen Zertifikat signieren. Es ist sowieso sinnvoller OOB Anwendungen zu signieren, da dem Benutzer zusätzlich der normalerweise abschreckende Bestätigungsdialog erspart bleibt. Stattdessen erscheint ein eher vertrauenserweckender Dialog mit Informationen zum Herausgeber der Anwendung, etc.

So signiert man eine Silverlight Anwendung:

  1. Man benötigt einen private key mit Zertifikat (.pfx ) zum signieren der Anwendung. Diesen kann man zum einen bei Zertifizierungsstellen erwerben, oder selbst erstellen (SPC). Bei einem selbsterstellten Zertifikat muss man diesem jedoch erst sein Vertrauen schenken. Eine Anleitung dazu und der Erstellung gibt es hier: http://stackoverflow.com/questions/84847/how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows oder findet man an vielen Stellen im Netz, z.B. mit OpenSSL.
  2. Im Postbuild-Event des Silverlight 4 Projekts muss folgender Befehl eingefügt werden:
       "%ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" sign /v /f c:\path\to\mykey.pfx /p "MYPASSWORD" /t TIMESTAMP_URI_FROM_PROVIDER $(TargetName).xap


Nach dem Kompilieren sollte nun ein vertrauenswürdiger Dialog erscheinen, wenn man die Anwendung installieren will. Das Update funktioniert jetzt auch auf anderen Clients, die dem Zertifikat vertrauen.
Wichtig ist jedoch, dass dieser Schritt vor dem ersten Ausrollen der Anwendung geschehen muss. Und nicht erst danach! Sonst steht kein automatisches Updatefeature mehr zur Verfügung.


 
Categories: Silverlight

Gestern ging die Silverlight 4 Release Version, wie am Dienstag dem 13.04.2010 angekündigt, live. Zudem wurde einen Tag vorher die Visual Studio 2010 RTM Version released.

Laut Tim Heuer benötigen die Silverlight 4 Tools Entwickler, die die Werkzeuge in Visual Studio zu Bearbeitung von Silverlight 4  Anwendungen entwickeln, erst die Silverlight 4 Release Version, um selbst das Final Release fertigstellen zu können.

“To be clear, Silverlight 4 has released.  This is RTW (release to web).  It is the version 4 of Silverlight.  Shipped.  Done.  Finished.

The tools (namely SL4 tools, RIA Services and Blend) are in their ‘release candidate’ mode.  I’ll spare you the gory details, but remember that these tools teams need SL4 to be *done* before they can be done.  SL4 is a dependency for them.  These tools are release quality though and I’d recommend using them.  Their final versions will come soon enough and will be a minor update.”

 

Zuerst dachte ich:

“Na toll! Noch länger mit der Visual Studio 2010 RC Version ausharren.“

Aber weit gefehlt:

Es wurden bereits die Silverlight 4 Tools RC2 veröffentlicht.

Laut der Downloadseite bei Microsoft wird folgendes Unterstützt.

“This package is an add-on for Visual Studio 2010 to provide tooling for Microsoft Silverlight 4 and RIA Services. It can be installed on top of either Visual Studio 2010 or Visual Web Developer 2010 Express. It extends existing Silverlight 3 features and multitargeting capabilities in Visual Studio 2010 to also create applications for Silverlight 4 using C# or Visual Basic. Note that this is a second Release Candidate (RC2) for the tools; the final release will be announced in the coming weeks.
Silverlight 4 Tools for Visual Studio 2010 includes several features:

  • Support for targeting Silverlight 4 in the Silverlight designer and project system
  • RIA Services application templates and libraries
  • Support for Silverlight 4 elevated trust and out-of-browser applications and other new Silverlight 4 features

This download will install all components necessary for Silverlight 4 and RIA Services development:
  • Silverlight 4 developer runtime (final release)
  • Silverlight 4 SDK (software development kit, final release)
  • Update for Visual Studio 2010 and Visual Web Developer Express 2010 (KB976272, pre-release)
  • Silverlight 4 Tools for Visual Studio 2010 RC2
  • WCF RIA Services for Silverlight 4 RC2

The final release of Silverlight 4 Tools will be made available in the near future.”

 
Categories: .NET | Silverlight