Blog Home  Home Feed your aggregator (RSS 2.0)  
artiso Blog - VS 2008
Neues rund um's Thema .Net
 
 Thursday, May 01, 2008

Welche Funktion finde ich in welcher Edition von Visual Studio? Wie unterscheiden sich VS Standard und VS Professional? Wann brauche ich eine Team Edition?

Fragen wie diese beantwortet die Visual Studio Product Comparison.

Visual Studio 2008 Product Comparison

Thursday, May 01, 2008 12:04:12 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Sunday, April 13, 2008

Die PowerCommands for Visual Studio 2008 sind jetzt in der Version 1.1 veröffentlicht worden und bieten in dieser neuen Version einige neue Funktionen. Bei den PowertCommends for Visual Studio 2008 handelt es sich um eine kostenlose Sammlung von nützlichen Erweiterungen für die Visual Studio IDE. Einen Überblick über die Funktionen bietet dieses Dokument. Da hat es viele Sachen dabei, die sicher schon jeder beim Arbeiten mit Visual Studio 2008 vermisst hat.

PowerCommands for Visual Studio 2008 - Home

Sunday, April 13, 2008 1:48:05 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Wednesday, April 09, 2008

Wenn man aus Visual Studio einen Web-Test startet und diese Meldung bekommt, muss man die Bowser-Extensions im IE enablen.

 image

Hierzu im IE unter Internetoptionen auf dem Reiter Advanced die Option "Enable third-party browser extensions" aktivieren. Dann kann der Web Test Recorder im IE ausgeführt werden.

image

Wednesday, April 09, 2008 9:41:35 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [1]    | 
 Tuesday, April 08, 2008

Zusammen mit meinem Kollegen Mark werde ich am 22.04.08 bei der UG München den Vortrag zum Thema Qualitätsmanagement mit VSTS nachholen.

Thema des Vortrags:

Dass Qualitätsmanagement heute ein fester Bestandteil eines modernen Entwicklungsprozesses sein sollte, ist inzwischen - zumindest in der Theorie – keine Frage mehr. Die Wirklichkeit ist aber leider immer noch sehr häufig eine andere. Woran liegt das? Terminstress, sich ändernde Anforderungen im Projektverlauf und in vielen Fällen ein erheblicher bürokratischer Overhead bei der Ausführung von QM vereitelt erfolgreich, die definierten Maßnahmen auch zu leben.
Die Test-Tools von Visual Studio hat wohl schon fast jeder einmal gesehen, evtl. auch genutzt. Entscheidend beim Einsatz dieser Tools ist aber die Integration in den Gesamtprozess. So besteht ein erfolgreiches QM nicht nur aus Tests, sondern auch Requirementmanagement, Releasemanagement, Testability und andere Aspekte spielen hierbei eine wichtige Rolle. Die Kunst besteht darin, diese verschiedenen Aspekte über den Gesamtprozess miteinander zu verbinden. Wie dieses Ziel mit VSTS und TFS erreicht werden kann, zeigt der Vortrag.
Die ideale Zielgruppe für diesen Vortrag sind: Entwickler, Qualitätsmanager, Testexperten und IT-Entscheider mit der Bereitschaft, sich auch das ein oder andere Prozessdetail live anzusehen.

 

Weitere Details finden sich hier

Tuesday, April 08, 2008 5:00:21 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |  |   | 
 Wednesday, March 12, 2008

Jeder vermisst so die eine oder andere Funktion im Visual Studio. Ein paar kleine nützlichen Erweiterung kann man sich kostenlos mit den Power Commands für Visual Studio 2008 herunterladen. Wer wollte nicht schon immer solche netten Sachen machen wie...

.. alle Projekte in einer Solution einklappen

image

... Referenzen in ein anderes Projekt zu kopieren

image

.. und vieles mehr.

Download und Source Code gibt es hier

Wer zuerst mal lesen will, welche Funktionen es gibt, hier klicken

Wednesday, March 12, 2008 8:01:56 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Wednesday, January 02, 2008

Aus dem Fenster mit Fehlermeldungen und Wahrnungen im Visual Studio heraus kann man direkt Workitems auf dem Team Foundation Server anlegen. Dazu einfach die entsprechende Zeile mit der rechten Maustaste anklicken und im Kontextmenü "Create Work Item" wählen.

image

Es werden automatisch Informationen in den Titel und den Verlauf übernommen, wobei meiner Meinung nach die Details eher in das Beschreibungs-Feld gehören als in den Verlauf.

image

Wednesday, January 02, 2008 2:45:07 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Friday, November 23, 2007

Bei unserem heutigen Treffen der .Net Developer-Group Ulm hatten wir einen Vortrag zum Thema SQL-Projekte. Dabei kam die Frage auf, ob man Daten einer Datenbank nicht in ein SQL-Skript exportieren kann, das dann alle Daten über Insert-Statements einfügen kann. Ich habe hierzu eine Lösung in Visual Studio 2008 gefunden und das geht so:

1.) Server Explorer öffnen und die entsprechende Verbindung rechts anklicken, dann  "Publish to provider" auswählen.

image

2.) Dann die Datebank auswählen und darunter die Checkbox disablen (außer man will wirklich die Datenbank komplett scripten).

image

3.) Die nächsten Schritte sind dann soweit selbsterklären. In dieser Maske kann man dann auswählen, ob man Daten, Schema oder beides scripten möchte:

image

4. In dem erzeugten Script steht dan z.B. so etwas:

INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], 
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'ALFKI', N'Alfreds Futterkiste', N'Maria Anders', N'Sales Representative',
            N'Obere Str. 57', N'Berlin', NULL, N'12209', N'Germany', N'030-0074321', N'030-0076545') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'ANATR', N'Ana Trujillo Emparedados y helados', N'Ana Trujillo', N'Owner',
            N'Avda. de la Constitución 2222', N'México D.F.', NULL, N'05021', N'Mexico', N'(5) 555-4729', N'(5) 555-3745') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'ANTON', N'Antonio Moreno Taquería', N'Antonio Moreno', N'Owner',
            N'Mataderos 2312', N'México D.F.', NULL, N'05023', N'Mexico', N'(5) 555-3932', NULL) INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'AROUT', N'Around the Horn', N'Thomas Hardy', N'Sales Representative', N'120 Hanover Sq.',
            N'London', NULL, N'WA1 1DP', N'UK', N'(171) 555-7788', N'(171) 555-6750') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'BERGS', N'Berglunds snabbköp', N'Christina Berglund', N'Order Administrator',
            N'Berguvsvägen 8', N'Luleå', NULL, N'S-958 22', N'Sweden', N'0921-12 34 65', N'0921-12 34 67') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'BLAUS', N'Blauer See Delikatessen', N'Hanna Moos', N'Sales Representative',
            N'Forsterstr. 57', N'Mannheim', NULL, N'68306', N'Germany', N'0621-08460', N'0621-08924') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'BLONP', N'Blondesddsl père et fils', N'Frédérique Citeaux', N'Marketing Manager',
            N'24, place Kléber', N'Strasbourg', NULL, N'67000', N'France', N'88.60.15.31', N'88.60.15.32') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'BOLID', N'Bólido Comidas preparadas', N'Martín Sommer', N'Owner', N'C/ Araquil, 67',
            N'Madrid', NULL, N'28023', N'Spain', N'(91) 555 22 82', N'(91) 555 91 99') INSERT [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address],
       [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (N'BONAP', N'Bon app''', N'Laurence Lebihan', N'Owner', N'12, rue des Bouchers',
            N'Marseille', NULL, N'13008', N'France', N'91.24.45.40', N'91.24.45.41')

Das Script lässt sich dann wunderbar in Datenbankprojekte einbauen und in der Quellcode verwqlten. Dies bietet z.B. eine gute Möglichkeit, um Testdaten für die Durchführung von Tests mit der jeweiligen Anwendungs-Version in der Quellcode-Verwaltung zu verwalten.

In Visual Studio 2005 funktioniert das leider nicht. Dort muss auf entsprechende Tools zurückgegriffen werden, z.B. den kostenlosen Oracle SQL Developer http://www.oracle.com/technology/products/database/sql_developer/index.html der übrigens auch mit SQL-Server funktioniert ;-)

Friday, November 23, 2007 12:11:53 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [3]    |   | 
 Monday, November 19, 2007

Visual Studio 2008 liegt nun als RTM-Version zum Downloadf bereit. Wer keine MSDN-Subscription hat, kann sich hier die Trail-Versionen herunterladen.

Visual Studio 2008 Trial Downloads

Monday, November 19, 2007 6:57:22 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Monday, October 29, 2007

Eines der neuen coolen Features in VS2008 ist der Intellisense-Support und das einfärben für Javascript-Code. Das hat bei mir aber nicht funktioniert. Das Problem liegt daran, dass bei der Installation zwei Registry-keys nicht korrekt gesetzt werden.

Setzt man folgende Registry-Keys korrekt dann funktioniert das Intellisense einwandfrei:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID\{014E9A41-54E5-44ED-B15E-EFFA8758BFFC}]

"CodeBase"=file:///C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\Microsoft.JScript.AuthoringServices.dll

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID\{014E9A41-54E5-44ED-B15E-EFFA8758BFFC}\InprocServer32\9.0.0.0]

"CodeBase"=file:///C:\\Program Files\\Microsoft Visual Studio 9.0\\Common7\\IDE\\Microsoft.JScript.AuthoringServices.dll

 

Nähere Infos findet man hier.

Monday, October 29, 2007 5:17:18 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
 Wednesday, October 17, 2007

Möchte man den kleinesten Key aus einem Dictionary abfragen, dann kann man das jetzt mit Hilfe von LINQ ganz einfach tun. Das Dictionary-Objekt ist in C#3.0 mit einer ensprechenden Extension versehen wordurch das Ganze so einfach ist, wie man sich das immer gewünscht hat.

Dictionary<int, double> ListObject = new Dictionary<int,double>
{
    {2004, 1.5}, {2005, 2.7}, {2006, 3.8}
};
int minYear = ListObject.Min(l => l.Key);
Wednesday, October 17, 2007 10:25:48 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |  |   | 

Vor kurzem hatte ich in einem Post beschrieben, wie man mit C#3.0 Listen effizient initialisieren kann. Das Ganze funktioniert übrigens auch mit Dictionaries. Das siehtr dann einfach so aus:

productVersion.Sales = new Dictionary<int,double>
{
    {2004, 1.5}, {2005, 2.7}, {2006, 3.8}
};
Wednesday, October 17, 2007 9:29:20 AM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |  |   | 
 Saturday, October 06, 2007

Objekte und Listen lassen sich jetzt in C# 3.0 sehr schön initialisieren. War bisher um ein relativ einfaches Objekt zu initialisieren sehr viel Code erforderlich, hat sich das nun deutlich verkürzt:

Bisher:

List<cProduct> Products = new List<cProduct>();

cProduct Product = new cProduct();
Product.ID = 1;
Product.BusinessDevelopmentComment = "";
Product.MarketingComments = "";
Product.VersionDescriptions = new List<cProductVersionDescription>();
Product.INNs = new List<cProductINNItem>();

cProductVersionDescription VersionDescription = new cProductVersionDescription();
VersionDescription.ID = 1;
VersionDescription.LastPCMDate = DateTime.Now;
VersionDescription.LastPCMDecision = "Go";
VersionDescription.NPV = 689.54;
VersionDescription.ProductID = 1;
VersionDescription.ProductVersionID = 1;
VersionDescription.VersionName = "Version1";
Product.VersionDescriptions.Add(VersionDescription);

cProductINNItem INN = new cProductINNItem();
INN.INN = 8;
INN.Dosage = 1.5;
INN.DosageUnit = 1;
INN.Volume = 1;
INN.Comment = "Test-Comment";
INN.INNOrder = 1;
Product.INNs.Add(INN);

INN = new cProductINNItem();
INN.INN = 2;
INN.Dosage = 2.5;
INN.DosageUnit = 2;
INN.Volume = 2;
INN.Comment = "Test-Comment2";
INN.INNOrder = 2;
Product.INNs.Add(INN);
 

Neu mit C#3.0:

List<cProduct> Products = new List<cProduct>
{
    new cProduct{ ID = 1, BusinessDevelopmentComment = "", MarketingComments = "", 
        VersionDescriptions = new List<cProductVersionDescription>
        {
            new cProductVersionDescription{ ID=1, LastPCMDate=DateTime.Now, LastPCMDecision="Go", NPV=689.54, ProductID=1, ProductVersionID=1, VersionName="Version1"}
        }, 
        INNs = new List<cProductINNItem>
        {
            new cProductINNItem{ INN=8, Dosage=1.5, DosageUnit=1, Volume=1, Comment="Test-Comment", INNOrder=1},
            new cProductINNItem{ INN=2, Dosage=2.5, DosageUnit=2, Volume=2, Comment="Test-Comment2", INNOrder=2}
        }
    }
};

 

Bisher konnte man den Code noch etwas vereinfachen, indem man einen entsprechenden Konstruktor für die Objekte erstellt hat, in dem die Initialisierungswerte übergeben werden konnten. Hier bietet die neue Version aber den Vorteil, dass diese leichter zu leesen ist, da die Parameter hier entsprechend bezeichnet sind. Beim Konstruktor musste immer Intellisense zu Hilfe genommen werden um herauszufinden, um welchen Parameter es sich handelt.

Saturday, October 06, 2007 5:17:22 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |  |   | 

Möchte man ASP.Net Anwendungen mit VS2008 debuggen, dann ist entscheidend, welchen Servermode man in den Einstellungen für das Web-Projekt ausgewählt hat.

image

Mit dem Visual Studio Developer Server hat das bei mir auf anhieb funktioniert. Allerdings mit dem IIs gab es Probleme. Hier habe ich zuerst diese NMeldung bekommen:

Unable to start debugging on the web server. Strong name validation failed.

Diesen Fehler kann man beheben indem man folgendes Procedere durchführt:

  1. Visual Studio beenden!
  2. Den "Visual Studio Command Prompt" mit "Run as Administrator" starten.
  3. Dann folgenden Befehl ausführen: sn.exe -Vr "%ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\iisresolver.dll"

Damit sollte diese Meldung behoben sein. Dann kam aber bei mir der nächste Fehler:

Unable to start debugging on the web server. IIS does not list an application that matches the launched URL.

Um diesen Fehler zu beseitigen muss man die Windows Authentification aktivieren. Dazu geht man folgendermaßen vor:

  1. Im Explorer auf "Computer" Rechtsklick und dann "Manage"
  2. Den IIS Manager öffnen und die entsprechende Anwendung auswählen

    image
  3. "Authentication" unter IIS doppelklicken und dann "Windows Athentication" auf Enabled setzen

    image

Damit hat bei mir das Debuggen dann auch mit dem IIS funktioniert.

Saturday, October 06, 2007 4:39:24 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    |   | 
 Monday, August 20, 2007

 Will man mit Visual Studio 2008 einem UserControl ein StyleSheet zuordnen, sieht das normalerweise so aus:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs"
    Inherits="Controls.WebUserControl1" %>
<head>
    <link href="../App_Themes/style.css" rel="stylesheet" type="text/css" />
</head>
<asp:Button ID="Button1" runat="server" Text="Button" /><asp:TextBox ID="TextBox1"
    runat="server"></asp:TextBox>


Damit scheint aber der Designer von Visual Studio 2008 Beta 2 Probleme zu haben. Sowohl im Split-View als auch im Design-View wird nach einem Refresh nichts mehr angezeigt.

image

Bei mir hat hier ein kleiner Trick geholfen. Man verschiebt einfach das Link-Tag mit dem Stylesheet ganz an's Ende des Codes. Dann kann man mit Hilfe der Refresh-Funktion aus dem Kontext-Menü des Design-Panes die Anzeige aktualisieren und siehe da, Button und Textbox werden wieder angezeigt.

image

Monday, August 20, 2007 3:45:30 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [3]    |   | 
 Saturday, July 28, 2007

Scott Guthrie beschreibt ein paar coole neue Features von Visual Studio 2008 in seinem Blog: 

Nice VS 2008 Code Editing Improvements
JavaScript intellisense
CSS style intellisense

Saturday, July 28, 2007 9:14:39 PM (Mitteleuropäische Zeit, UTC+01:00)  #    Comments [0]    | 
Copyright © 2008 Thomas. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: