La fenêtre immédiate
-
14-11-2019 - |
Question
Nous utilisons Fluentmigrator et il veut long pour le numéro de migration.
Normalement, je peux simplement ouvrir la fenêtre immédiate et taper
System.DateTime.Now.ToString("yyyMMddhhmmss");
Mais parfois, il dira:
L'expression ne peut pas être évaluée en mode conception.
Je commence donc à déboguer exécuter la commande et obtenir cette erreur:
L'expression ne peut pas être évaluée en mode d'exécution.
Édité pour ajouter
Si je commence à déboguer et à appuyer sur une pause et à entrer la commande, j'obtiens
Impossible d'évaluer l'expression car le thread actuel est dans un sommeil, à attendre ou à rejoindre
Si je commence à déboguer avec un point de rupture, cela fonctionne, mais c'est trop de cerceaux à sauter et cela a fonctionné dans le premier scénario. Il semble construire mon projet car s'il y avait des erreurs, il ne s'exécuterait pas.
Ceci est dans Visual Studio 2010 Pro.
Points bonus Si l'on peut me dire comment faire cela en tant que modèle de classe ou peut-être un truc de type PowerShell?
J'ai essayé la réponse dans Fenêtre immédiate, "L'expression ne peut pas être évaluée ...." Et la sélection du projet ne fonctionne pas. Je n'obtiens pas le> dans la fenêtre immédiate et si je le mets avant la commande, je reçois
La commande "..." n'est pas valide.
Édité pour ajouterJ'ai créé cet Gist pour faire ce que je voulais.
https://gist.github.com/9ad816c2b8e56b57ef79
Fondamentalement, une commande PowerShell pour créer un modèle AC # avec une merde remplie.
La solution
Pourquoi ne pas simplement utiliser PowerShell:
PS> [DateTime]::Now.ToString("yyyMMddhhmmss");
20120228043351
Autres conseils
Je ne suis pas un utilisateur de Visual Studio, mais c'est ainsi que vous pouvez obtenir la valeur avec une applet de commande PowerShell:
Get-Date -Format yyyMMddhhmmss
Vous devez l'exécuter dans le troisième mode - Déboguer Mode (pause dans le débogueur).