Newer posts are loading.
You are at the newest post.
Click here to check if anything new just came in.

July 22 2013

SLAT: Der Hypervisor und seine Adressen

Ein Emulator ist ein Programm, welches ein Gerät oder ein anderes Programm simuliert. Wir Entwickler simulieren beispielsweise damit ein Windows Phone 8, um darauf unsere Apps zu testen. Die Vorteile des Emulators liegen auf der Hand: Er bietet eine kontrollierte Umgebung, man braucht das Phone nicht zur Hand und er ist immer verfügbar. Wirklich immer? Der Emulator des Windows Phone 8 ist kein einfaches Programm, das von Windows ausgeführt wird. Tatsächlich steckt dahinter Microsofts Virtualisierungslösung Hyper-V. Das bringt entscheidende Vorteile, vor allem eine deutlich bessere Performance im Vergleich zum Vorgänger. Aber der Fortschritt hat seinen Preis, denn die Hardware muss Hyper-V bei der Arbeit kräftig unter die Arme greifen. Der Entwickler-Rechner braucht einen 64-Bit-Prozessor und mindestens 4 Gigabyte Hauptspeicher. Das entscheidende Feature, das Ihr Prozessor außerdem mitbringen sollte, heißt SLAT: Second Level Address Translation.

Was ist SLAT?

Jedes moderne Betriebssystem hat eine virtuelle Speicherverwaltung mit Paging. Diese erlaubt dem System für jedes Programm einen eigenen Speicherbereich vorzugeben, den das Programm zwar beliebig verwenden, aber nicht überschreiten kann. Aus Sicht eines Programms beginnt der Speicher immer mit der Adresse 0x00, der ersten virtuellen Adresse. Die Adressen werden dann schrittweise erhöht, bis an die Grenze des zugewiesenen Speichers. Dieser Mechanismus soll vor allem Unfällen vorbeugen. Wenn ein Programm physikalische Adresse kennt, kann es auch außerhalb seines eigenen Speichers lesen und schreiben.

In den virtuellen Adressen eines Programms gibt es keine Lücken, selbst wenn es im Speicher gar nicht genug freien Platz gibt, um das Programm vollständig unter zu bringen. Die Daten, die nicht mehr in den Hauptspeicher passen, werden auf die Festplatte geschrieben. Dazu wird der Speicher in "Pages" unterteilt,  die bei Bedarf auf die Festplatte geschrieben werden. Benötigt ein Programm eine Seite von der Festplatte, so wird diese wieder in den Hauptspeicher kopiert. Sowohl das Host-System als auch der Emulator führen die virtuelle Speicherverwaltung durch und beide benötigen für den Speicherzugriff mit virtuellen Adressen das sogenannte "page table", das Seitenverzeichnis.

Fast alles, was in einem System passiert, ist ein Speicherzugriff, deshalb haben Prozessoren einen besonderen Teil, der die virtuelle Speicherverwaltung unterstützt. Diese Hardware-Beschleunigung kann allerdings nur von einem einzelnen Betriebssystem genutzt werden. Das Seitenverzeichnis des Gastsystems liegt einfach irgendwo im Speicher und statt der Hardware sorgt die Virtualisierungssoftware für die Berechnung der Adressen. Das Gastsystem hat damit eine "Schattenverwaltung", die Shadow Pages. Shadow Pages sind langsamer als das Paging mit der Hardware. Mit SLAT wird diese "Schattenverwaltung" aber überflüssig gemacht. Die Hardware-Unterstützung wird ausgeweitet, sodass nicht nur die virtuellen Adressen des Host-Systems, sondern auch die des Gastsystems oder der Gastsysteme verwaltet werden können. Das Gastsystem läuft dadurch flüssiger und kann seinen eigentlichen Aufgaben nachgehen - zum Beispiel Apps ausführen.

Kann mein Prozessor SLAT?

Die meisten neueren Prozessoren können diese Virtualisierungstechnik bereits. Die Intel-Prozessoren nennen dieses Feature "EPT" - Extended Page Tables. Alle i3, i5 und i7-Prozessoren verfügen darüber; die Details dazu findet man auf der Homepage von Intel [intelvt].

Bei AMD heißt das Feature "NP" oder "RVI". Jeder Barcelona-Prozessor (Family 10h) oder später verfügt über RVI, beispielsweise der Phenom II X2. Auch hier gibt es eine Liste [amdw8].

Den eigenen Rechner prüft man indes am besten mit dem Tool "CoreInfo" aus den Windows Sysinternals [cori]. Führen Sie es von der Kommandozeile aus und der Befehl "coreinfo -v" zeigt Ihnen an, ob das System SLAT unterstützt. Wenn in den beiden unteren Zeilen jeweils ein Sternchen steht (siehe Abb.), ist der Prozessor geeignet.

Die Ausgabe von CoreInfo bei einem AMD Phenom II X4 mit SLAT

Weitere Infos zum Hardware-Test finden Sie im Technet-Wiki [tesl].

Maschine in der Maschine

Wie praktisch virtuelle Maschinen sind, haben wir bereits erläutert. Das Windows Phone 8 SDK lässt sich auch in einer virtuellen Umgebung installieren, nur verweigert der Emulator dort den Dienst. Was kann man also tun, wenn der Entwickler-Rechner mit Windows 8 bereits in einer VM läuft? Kurz gesagt, nichts. Hyper-V ist nicht dafür geeignet einen weiteren, virtuellen Hypervisor auszuführen. Anders jedoch, wenn man VMWare Workstation 9 oder zur nicht-kommerziellen Verwendung den kostenlosen VMWare Player 5 verwendet. Diese enthalten ein undokumentiertes Feature, mit dem man dem Gastsystem vortäuschen kann, es wäre das einzige System auf dieser Hardware. Mit einem Text-Editor lässt sich die Konfiguration hypervisor.cpuid.v0 = "FALSE" in der VMX-Datei der virtuellen Maschine eintragen. Von nun an belügt der Hypervisor das Gastsystem. Die Maschine für den Emulator braucht außerdem installierte VMWare Tools und die passende Einstellung in der Systemsteuerung für die virtuellen Prozessoren. Dann wird auch der Windows Phone 8-Emulator innerhalb einer VM ausgeführt.

tl;dr: SLAT erlaubt es der Hardware, die internen virtuellen Adressen von Gastsystemen gleich mit zu berechnen. Es ist notwendig für jeden WP8-Dev.

SLAT: Der Hypervisor und seine Adressen

Ein Emulator ist ein Programm, welches ein Gerät oder ein anderes Programm simuliert. Wir Entwickler simulieren beispielsweise damit ein Windows Phone 8, um darauf unsere Apps zu testen. Die Vorteile des Emulators liegen auf der Hand: Er bietet eine kontrollierte Umgebung, man braucht das Phone nicht zur Hand und er ist immer verfügbar. Wirklich immer? Der Emulator des Windows Phone 8 ist kein einfaches Programm, das von Windows ausgeführt wird. Tatsächlich steckt dahinter Microsofts Virtualisierungslösung Hyper-V. Das bringt entscheidende Vorteile, vor allem eine deutlich bessere Performance im Vergleich zum Vorgänger. Aber der Fortschritt hat seinen Preis, denn die Hardware muss Hyper-V bei der Arbeit kräftig unter die Arme greifen. Der Entwickler-Rechner braucht einen 64-Bit-Prozessor und mindestens 4 Gigabyte Hauptspeicher. Das entscheidende Feature, das Ihr Prozessor außerdem mitbringen sollte, heißt SLAT: Second Level Address Translation.

Was ist SLAT?

Jedes moderne Betriebssystem hat eine virtuelle Speicherverwaltung mit Paging. Diese erlaubt dem System für jedes Programm einen eigenen Speicherbereich vorzugeben, den das Programm zwar beliebig verwenden, aber nicht überschreiten kann. Aus Sicht eines Programms beginnt der Speicher immer mit der Adresse 0x00, der ersten virtuellen Adresse. Die Adressen werden dann schrittweise erhöht, bis an die Grenze des zugewiesenen Speichers. Dieser Mechanismus soll vor allem Unfällen vorbeugen. Wenn ein Programm physikalische Adresse kennt, kann es auch außerhalb seines eigenen Speichers lesen und schreiben.

In den virtuellen Adressen eines Programms gibt es keine Lücken, selbst wenn es im Speicher gar nicht genug freien Platz gibt, um das Programm vollständig unter zu bringen. Die Daten, die nicht mehr in den Hauptspeicher passen, werden auf die Festplatte geschrieben. Dazu wird der Speicher in "Pages" unterteilt,  die bei Bedarf auf die Festplatte geschrieben werden. Benötigt ein Programm eine Seite von der Festplatte, so wird diese wieder in den Hauptspeicher kopiert. Sowohl das Host-System als auch der Emulator führen die virtuelle Speicherverwaltung durch und beide benötigen für den Speicherzugriff mit virtuellen Adressen das sogenannte "page table", das Seitenverzeichnis.

Fast alles, was in einem System passiert, ist ein Speicherzugriff, deshalb haben Prozessoren einen besonderen Teil, der die virtuelle Speicherverwaltung unterstützt. Diese Hardware-Beschleunigung kann allerdings nur von einem einzelnen Betriebssystem genutzt werden. Das Seitenverzeichnis des Gastsystems liegt einfach irgendwo im Speicher und statt der Hardware sorgt die Virtualisierungssoftware für die Berechnung der Adressen. Das Gastsystem hat damit eine "Schattenverwaltung", die Shadow Pages. Shadow Pages sind langsamer als das Paging mit der Hardware. Mit SLAT wird diese "Schattenverwaltung" aber überflüssig gemacht. Die Hardware-Unterstützung wird ausgeweitet, sodass nicht nur die virtuellen Adressen des Host-Systems, sondern auch die des Gastsystems oder der Gastsysteme verwaltet werden können. Das Gastsystem läuft dadurch flüssiger und kann seinen eigentlichen Aufgaben nachgehen - zum Beispiel Apps ausführen.

Kann mein Prozessor SLAT?

Die meisten neueren Prozessoren können diese Virtualisierungstechnik bereits. Die Intel-Prozessoren nennen dieses Feature "EPT" - Extended Page Tables. Alle i3, i5 und i7-Prozessoren verfügen darüber; die Details dazu findet man auf der Homepage von Intel [intelvt].

Bei AMD heißt das Feature "NP" oder "RVI". Jeder Barcelona-Prozessor (Family 10h) oder später verfügt über RVI, beispielsweise der Phenom II X2. Auch hier gibt es eine Liste [amdw8].

Den eigenen Rechner prüft man indes am besten mit dem Tool "CoreInfo" aus den Windows Sysinternals [cori]. Führen Sie es von der Kommandozeile aus und der Befehl "coreinfo -v" zeigt Ihnen an, ob das System SLAT unterstützt. Wenn in den beiden unteren Zeilen jeweils ein Sternchen steht (siehe Abb.), ist der Prozessor geeignet.

Die Ausgabe von CoreInfo bei einem AMD Phenom II X4 mit SLAT

Weitere Infos zum Hardware-Test finden Sie im Technet-Wiki [tesl].

Maschine in der Maschine

Wie praktisch virtuelle Maschinen sind, haben wir bereits erläutert. Das Windows Phone 8 SDK lässt sich auch in einer virtuellen Umgebung installieren, nur verweigert der Emulator dort den Dienst. Was kann man also tun, wenn der Entwickler-Rechner mit Windows 8 bereits in einer VM läuft? Kurz gesagt, nichts. Hyper-V ist nicht dafür geeignet einen weiteren, virtuellen Hypervisor auszuführen. Anders jedoch, wenn man VMWare Workstation 9 oder zur nicht-kommerziellen Verwendung den kostenlosen VMWare Player 5 verwendet. Diese enthalten ein undokumentiertes Feature, mit dem man dem Gastsystem vortäuschen kann, es wäre das einzige System auf dieser Hardware. Mit einem Text-Editor lässt sich die Konfiguration hypervisor.cpuid.v0 = "FALSE" in der VMX-Datei der virtuellen Maschine eintragen. Von nun an belügt der Hypervisor das Gastsystem. Die Maschine für den Emulator braucht außerdem installierte VMWare Tools und die passende Einstellung in der Systemsteuerung für die virtuellen Prozessoren. Dann wird auch der Windows Phone 8-Emulator innerhalb einer VM ausgeführt.

tl;dr: SLAT erlaubt es der Hardware, die internen virtuellen Adressen von Gastsystemen gleich mit zu berechnen. Es ist notwendig für jeden WP8-Dev.

May 27 2013

Aus der App-Entwickler Hotline: Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Die Fehlermeldung
“Die Windows Store-App ‘[...]"’ konnte nicht aktiviert werden. Der [...].exe-Prozess wurde gestartet, jedoch ist eine Aktivierungsanfrage mit Fehler ’Die App wurde nicht gestartet’ fehlgeschlagen.”
tritt oft im Zusammenhang mit veralteten Builds auf. Die Aktivierung schlägt fehl, wenn auf dem System bereits eine App mit demselben Namen, aber einer anderen Signatur installiert ist. Mit folgenden Vorgehen kann das Problem behoben werden:

1) Öffnen Sie die übersicht "Alle Apps"
2) Finden Sie diejenige App, welche Sie neu erstellt werden muss
3) Deinstallieren Sie diese vom System mit Rechtsklick->Uninstall

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße,
Hristo Valev
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler Hotline: Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Die Fehlermeldung
“Die Windows Store-App ‘[...]"’ konnte nicht aktiviert werden. Der [...].exe-Prozess wurde gestartet, jedoch ist eine Aktivierungsanfrage mit Fehler ’Die App wurde nicht gestartet’ fehlgeschlagen.”
tritt oft im Zusammenhang mit veralteten Builds auf. Die Aktivierung schlägt fehl, wenn auf dem System bereits eine App mit demselben Namen, aber einer anderen Signatur installiert ist. Mit folgenden Vorgehen kann das Problem behoben werden:

1) Öffnen Sie die übersicht "Alle Apps"
2) Finden Sie diejenige App, welche Sie neu erstellt werden muss
3) Deinstallieren Sie diese vom System mit Rechtsklick->Uninstall

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße,
Hristo Valev
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler Hotline: Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Bei dem Debuggen meiner App erhalte ich die Fehlermeldung “This Application could not be startet.”. Wie kann ich diese beseitigen?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Die Fehlermeldung
“Die Windows Store-App ‘[...]"’ konnte nicht aktiviert werden. Der [...].exe-Prozess wurde gestartet, jedoch ist eine Aktivierungsanfrage mit Fehler ’Die App wurde nicht gestartet’ fehlgeschlagen.”
tritt oft im Zusammenhang mit veralteten Builds auf. Die Aktivierung schlägt fehl, wenn auf dem System bereits eine App mit demselben Namen, aber einer anderen Signatur installiert ist. Mit folgenden Vorgehen kann das Problem behoben werden:

1) Öffnen Sie die übersicht "Alle Apps"
2) Finden Sie diejenige App, welche Sie neu erstellt werden muss
3) Deinstallieren Sie diese vom System mit Rechtsklick->Uninstall

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße,
Hristo Valev
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entwickler-Hotline: http://www.msdn-online.de/Hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

May 16 2013

Aus der App-Entwickler-Hotline: Query Builder in VS 2012

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Gibt es den Query-Builder in Visual Studio 2012 noch und wie finde ich ihn?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Der Query-Builder ist nach wie vor im Visual Studio enthalten. Er funktioniert auch noch genauso, wie Sie das aus den älteren Versionen gewohnt sind. In Kürze, folgen Sie diesen Schritten:

  1. Datenquelle hinzufügen, sofern noch nicht vorhanden [1]
  2. DataSet mit Designer bearbeiten
  3. Im Designer:
    1. Rechtsklick, Hinzufügen
    2.  Query...
    3. "Weiter" drücken bis zum "Query Builder..."

Der Query taucht nach dem Bearbeiten und Speichern in Ihrer Projektmappe auf und kann nun direkt von dort aus bearbeitet werden. Eine ausführlichere Anleitung finden Sie wie üblich in der Dokumentation [2].

Quellen:
[1]http://msdn.microsoft.com/de-de/library/vstudio/8s2t4x15.aspx
[2]http://msdn.microsoft.com/de-de/library/vstudio/ff852025.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Query Builder in VS 2012

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Gibt es den Query-Builder in Visual Studio 2012 noch und wie finde ich ihn?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Der Query-Builder ist nach wie vor im Visual Studio enthalten. Er funktioniert auch noch genauso, wie Sie das aus den älteren Versionen gewohnt sind. In Kürze, folgen Sie diesen Schritten:

  1. Datenquelle hinzufügen, sofern noch nicht vorhanden [1]
  2. DataSet mit Designer bearbeiten
  3. Im Designer:
    1. Rechtsklick, Hinzufügen
    2.  Query...
    3. "Weiter" drücken bis zum "Query Builder..."

Der Query taucht nach dem Bearbeiten und Speichern in Ihrer Projektmappe auf und kann nun direkt von dort aus bearbeitet werden. Eine ausführlichere Anleitung finden Sie wie üblich in der Dokumentation [2].

Quellen:
[1]http://msdn.microsoft.com/de-de/library/vstudio/8s2t4x15.aspx
[2]http://msdn.microsoft.com/de-de/library/vstudio/ff852025.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Query Builder in VS 2012

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Gibt es den Query-Builder in Visual Studio 2012 noch und wie finde ich ihn?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Der Query-Builder ist nach wie vor im Visual Studio enthalten. Er funktioniert auch noch genauso, wie Sie das aus den älteren Versionen gewohnt sind. In Kürze, folgen Sie diesen Schritten:

  1. Datenquelle hinzufügen, sofern noch nicht vorhanden [1]
  2. DataSet mit Designer bearbeiten
  3. Im Designer:
    1. Rechtsklick, Hinzufügen
    2.  Query...
    3. "Weiter" drücken bis zum "Query Builder..."

Der Query taucht nach dem Bearbeiten und Speichern in Ihrer Projektmappe auf und kann nun direkt von dort aus bearbeitet werden. Eine ausführlichere Anleitung finden Sie wie üblich in der Dokumentation [2].

Quellen:
[1]http://msdn.microsoft.com/de-de/library/vstudio/8s2t4x15.aspx
[2]http://msdn.microsoft.com/de-de/library/vstudio/ff852025.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

March 26 2013

Aus der App-Entwickler-Hotline: Elemente an Text anpassen, aber mit automatischem Umbruch im Text

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich gestalte ein DataTemplate für einen LongListSelector. In dem Template sollen zwei Elemente nebeneinander Platz finden. Der Platz hinter dem letzten Element muss außerdem so groß wie möglich sein, d.h. es muss mit dem Text schrumpfen. Sobald der Text allerdings zu lang wird, vergrößert sich das Element, statt den Text umzubrechen. Wie hindere ich das zweite Element daran zu groß zu werden?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Löschen Sie bitte auf Elementen, die schrumpfen sollen, die Breitenangaben [1]. Auf den Elementen, die den Text ab einer bestimmten Größe umbrechen sollen, setzen Sie die Eigenschaft MaxWidth [2].

[1] .NET Framework 4.5: Width-Eigenschaft
[2] .NET Framework 4.5: MaxWidth-Eigenschaft<o:p></o:p>

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Elemente an Text anpassen, aber mit automatischem Umbruch im Text

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich gestalte ein DataTemplate für einen LongListSelector. In dem Template sollen zwei Elemente nebeneinander Platz finden. Der Platz hinter dem letzten Element muss außerdem so groß wie möglich sein, d.h. es muss mit dem Text schrumpfen. Sobald der Text allerdings zu lang wird, vergrößert sich das Element, statt den Text umzubrechen. Wie hindere ich das zweite Element daran zu groß zu werden?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Löschen Sie bitte auf Elementen, die schrumpfen sollen, die Breitenangaben [1]. Auf den Elementen, die den Text ab einer bestimmten Größe umbrechen sollen, setzen Sie die Eigenschaft MaxWidth [2].

[1] .NET Framework 4.5: Width-Eigenschaft
[2] .NET Framework 4.5: MaxWidth-Eigenschaft<o:p></o:p>

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Elemente an Text anpassen, aber mit automatischem Umbruch im Text

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich gestalte ein DataTemplate für einen LongListSelector. In dem Template sollen zwei Elemente nebeneinander Platz finden. Der Platz hinter dem letzten Element muss außerdem so groß wie möglich sein, d.h. es muss mit dem Text schrumpfen. Sobald der Text allerdings zu lang wird, vergrößert sich das Element, statt den Text umzubrechen. Wie hindere ich das zweite Element daran zu groß zu werden?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Löschen Sie bitte auf Elementen, die schrumpfen sollen, die Breitenangaben [1]. Auf den Elementen, die den Text ab einer bestimmten Größe umbrechen sollen, setzen Sie die Eigenschaft MaxWidth [2].

[1] .NET Framework 4.5: Width-Eigenschaft
[2] .NET Framework 4.5: MaxWidth-Eigenschaft<o:p></o:p>

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

March 25 2013

Aus der App-Entwickler-Hotline: Vom DateTime nur die Uhrzeit anzeigen

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich habe ein DateTime-Objekt und würde davon gerne nur die Uhrzeit ausgeben. Wie geht das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Für diese Fälle bietet das .NET-Framework die DateTime.ToLongTimeString-Methode [1]. Diese gibt einen String zurück, der entsprechend der aktuellen Locale formatiert wird. Beispiel:

Console.WriteLine("Long date string:  \"{0}\"\n", myDateTime.ToLongDateString());

Wenn Ihnen dieses Format nicht gefällt, können Sie auch ein eigenes Format angeben. Wie das geht erfahren Sie unter [2]. Eine Liste aller verfügbaren Formate finden Sie unter [3].

[1] http://msdn.microsoft.com/de-de/library/system.datetime.tolongtimestring.aspx
[2] http://msdn.microsoft.com/de-de/library/txafckwd.aspx
[3] http://msdn.microsoft.com/de-de/library/az4se3k1.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.



Aus der App-Entwickler-Hotline: Vom DateTime nur die Uhrzeit anzeigen

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich habe ein DateTime-Objekt und würde davon gerne nur die Uhrzeit ausgeben. Wie geht das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Für diese Fälle bietet das .NET-Framework die DateTime.ToLongTimeString-Methode [1]. Diese gibt einen String zurück, der entsprechend der aktuellen Locale formatiert wird. Beispiel:

Console.WriteLine("Long date string:  "{0}"
", myDateTime.ToLongDateString());

Wenn Ihnen dieses Format nicht gefällt, können Sie auch ein eigenes Format angeben. Wie das geht erfahren Sie unter [2]. Eine Liste aller verfügbaren Formate finden Sie unter [3].

[1] http://msdn.microsoft.com/de-de/library/system.datetime.tolongtimestring.aspx
[2] http://msdn.microsoft.com/de-de/library/txafckwd.aspx
[3] http://msdn.microsoft.com/de-de/library/az4se3k1.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.



Aus der App-Entwickler-Hotline: Vom DateTime nur die Uhrzeit anzeigen

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich habe ein DateTime-Objekt und würde davon gerne nur die Uhrzeit ausgeben. Wie geht das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Für diese Fälle bietet das .NET-Framework die DateTime.ToLongTimeString-Methode [1]. Diese gibt einen String zurück, der entsprechend der aktuellen Locale formatiert wird. Beispiel:

Console.WriteLine("Long date string:  "{0}"
", myDateTime.ToLongDateString());

Wenn Ihnen dieses Format nicht gefällt, können Sie auch ein eigenes Format angeben. Wie das geht erfahren Sie unter [2]. Eine Liste aller verfügbaren Formate finden Sie unter [3].

[1] http://msdn.microsoft.com/de-de/library/system.datetime.tolongtimestring.aspx
[2] http://msdn.microsoft.com/de-de/library/txafckwd.aspx
[3] http://msdn.microsoft.com/de-de/library/az4se3k1.aspx 

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.



March 18 2013

Aus der App-Entwickler-Hotline: Fehler 800A01B6 beim Zugriff auf SMTPEmail

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich hole mit Set myUser = GetObject(myRecordSet.Fields.Item("AdsPath").Value) einenen Active Directory-Benutzer und möchte nun mit myUser.SMTPEmail die E-Mail-Adresse herausfinden. Mit Exchange 2003 hat das funktioniert, aber mit Exchange 2010 erhalte ich stattdessen die Meldung "Code 800A01B6: myUser.SMTPEmail wird nicht unterstützt". Wie behebe ich das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Wir wissen auch nicht warum, aber die Property "SMTPEmail" scheint ausschließlich in Exchange 2003 zu existieren [1]. Wir haben stattdessen die Property "mail" verwendet. Das funktioniert dann:

Set objUser = GetObject(objRecordSet.Fields.Item("AdsPath").Value)
WScript.Echo objuser.mail

Wir konnten die passende Dokumentation leider nicht finden bzw. identifizieren. Es gibt allerdings zwei Seiten, welche diese Properties auflisten [2, 3]. Mit dem CMDlet Get-ADUser können Sie aus der PowerShell auch die verfügbaren Properties auslesen.

[1] http://msdn.microsoft.com/de-de/library/exchange/aa487599
[2] http://www.dotnetactivedirectory.com/Understanding_LDAP_Active_Directory_User_Object_Properties.html
[3] http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
[4] Get-ADUser http://technet.microsoft.com/de-de/library/ee617241

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Fehler 800A01B6 beim Zugriff auf SMTPEmail

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich hole mit Set myUser = GetObject(myRecordSet.Fields.Item("AdsPath").Value) einenen Active Directory-Benutzer und möchte nun mit myUser.SMTPEmail die E-Mail-Adresse herausfinden. Mit Exchange 2003 hat das funktioniert, aber mit Exchange 2010 erhalte ich stattdessen die Meldung "Code 800A01B6: myUser.SMTPEmail wird nicht unterstützt". Wie behebe ich das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Wir wissen auch nicht warum, aber die Property "SMTPEmail" scheint ausschließlich in Exchange 2003 zu existieren [1]. Wir haben stattdessen die Property "mail" verwendet. Das funktioniert dann:

Set objUser = GetObject(objRecordSet.Fields.Item("AdsPath").Value)
WScript.Echo objuser.mail

Wir konnten die passende Dokumentation leider nicht finden bzw. identifizieren. Es gibt allerdings zwei Seiten, welche diese Properties auflisten [2, 3]. Mit dem CMDlet Get-ADUser können Sie aus der PowerShell auch die verfügbaren Properties auslesen.

[1] http://msdn.microsoft.com/de-de/library/exchange/aa487599
[2] http://www.dotnetactivedirectory.com/Understanding_LDAP_Active_Directory_User_Object_Properties.html
[3] http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
[4] Get-ADUser http://technet.microsoft.com/de-de/library/ee617241

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Fehler 800A01B6 beim Zugriff auf SMTPEmail

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Ich hole mit Set myUser = GetObject(myRecordSet.Fields.Item("AdsPath").Value) einenen Active Directory-Benutzer und möchte nun mit myUser.SMTPEmail die E-Mail-Adresse herausfinden. Mit Exchange 2003 hat das funktioniert, aber mit Exchange 2010 erhalte ich stattdessen die Meldung "Code 800A01B6: myUser.SMTPEmail wird nicht unterstützt". Wie behebe ich das?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Wir wissen auch nicht warum, aber die Property "SMTPEmail" scheint ausschließlich in Exchange 2003 zu existieren [1]. Wir haben stattdessen die Property "mail" verwendet. Das funktioniert dann:

Set objUser = GetObject(objRecordSet.Fields.Item("AdsPath").Value)
WScript.Echo objuser.mail

Wir konnten die passende Dokumentation leider nicht finden bzw. identifizieren. Es gibt allerdings zwei Seiten, welche diese Properties auflisten [2, 3]. Mit dem CMDlet Get-ADUser können Sie aus der PowerShell auch die verfügbaren Properties auslesen.

[1] http://msdn.microsoft.com/de-de/library/exchange/aa487599
[2] http://www.dotnetactivedirectory.com/Understanding_LDAP_Active_Directory_User_Object_Properties.html
[3] http://www.computerperformance.co.uk/Logon/LDAP_attributes_active_directory.htm
[4] Get-ADUser http://technet.microsoft.com/de-de/library/ee617241

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

March 14 2013

Aus der App-Entwickler-Hotline: Performance von JavaScript

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Wie sehr unterscheiden sich JavaScript und C# in Bezug auf die Leistung?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Zusammengefasst kann man sagen, dass JavaScript langsamer als C# und C++ ist und das vor allem in Apps, die aufwendige Rechenoperationen und Klassenstrukturen verwenden ins Gewicht fällt. In den meisten Apps wird der Unterschied aber kaum merklich auffallen. Zwischen C# und C++ ist der Performanceunterschied so gering, dass man sich unserer Meinung nach für die Sprache entscheiden sollte, in der die größere Fachkompetenz vorhanden ist. Auf Stackoverflow finden Sie eine längere Diskussion zu dem Thema.

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Standard-Strings in C++, und strlen()

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Die C-Funktion strlen() funktioniert nicht mit dem C++-Typ "string". Außerdem scheint es diesen Typ überhaupt nicht zu geben (Fehler: "Unbekannter Bezeichner"). Was mache ich dagegen?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Der Typ "string" existiert durchaus und wird auch in Windows angeboten. Er wird im Standardheader <string> vereinbart. Fügen Sie Ihrem Header folgende Zeilen hinzu, um Zugriff auf den Typ zu erhalten:

#include <string>
using namespace std;

Statt der Funktion strlen() können Sie nun die Funktion std::string::length verwenden:

if( mystring->length() > 2 )

Bitte beachten Sie dabei, dass hier die Anzahl der Zeichen zurückgegeben wird, nicht die Anzahl der Bytes im String.

[1] http://msdn.microsoft.com/de-de/library/y4k49tt9.aspx
[2] http://www.cpp-tutor.de/cpp/le06/string.html

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting dieseNutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesondertenNutzungsbedingungen für die App-Entwickler-Hotline.

Aus der App-Entwickler-Hotline: Performance von JavaScript

Hallo zusammen,
heute wurde uns bei der App-Entwickler-Hotline unter anderem folgende Frage gestellt:

Wie sehr unterscheiden sich JavaScript und C# in Bezug auf die Leistung?

Unsere Antwort bzw. unser Lösungsvorschlag darauf war:

Zusammengefasst kann man sagen, dass JavaScript langsamer als C# und C++ ist und das vor allem in Apps, die aufwendige Rechenoperationen und Klassenstrukturen verwenden ins Gewicht fällt. In den meisten Apps wird der Unterschied aber kaum merklich auffallen. Zwischen C# und C++ ist der Performanceunterschied so gering, dass man sich unserer Meinung nach für die Sprache entscheiden sollte, in der die größere Fachkompetenz vorhanden ist. Auf Stackoverflow finden Sie eine längere Diskussion zu dem Thema.

Wir hoffen, vielen Besuchern der MSDN Foren durch das Posten dieses Problems und einer möglichen Lösung weiterhelfen zu können.

Viele Grüße
Jonny Best
App-Entwickler-Hotline für MSDN Online Deutschland

Disclaimer:
Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die App-Entickler-Hotline: http://www.msdn-online.de/hotline
MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

Es gelten für die App-Entwickler-Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu MarkenzeichenInformationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die App-Entwickler-Hotline.

Older posts are this way If this message doesn't go away, click anywhere on the page to continue loading posts.
Could not load more posts
Maybe Soup is currently being updated? I'll try again automatically in a few seconds...
Just a second, loading more posts...
You've reached the end.

Don't be the product, buy the product!

Schweinderl