/ / Visual Studio 2013 Créer un script Powershell post-construction - powershell, visual-studio-2013, msbuild

Visual Studio 2013 Créer un script Powershell post-construction - powershell, visual-studio-2013, msbuild

J'utilise le modèle de construction par défaut pour VisualStudio 2013. J'utilise les options de script pré-génération / post-génération pour exécuter les scripts Powershell depuis un certain temps. J'ai pu accéder aux variables d'environnement dans ces scripts, mais je dois maintenant accéder à Propriétés défini dans le projet Visual Studio. La propriété spécifique à laquelle je souhaite accéder dans un script Powershell post-génération est $ Configuration.

J'ouvre les diagnostics des builds que j'exécute. Je peux confirmer que la propriété est passée dans l'exécution de msbuild pour construire le projet comme ceci

/p:Configuration="Release"

J'ajoute aux arguments de script post-build comme ceci (j'ai aussi essayé ceci avec des guillemets simples / doubles guillemets / toutes les majuscules)

-Configuration $Configuration

Dans le script Powershell lui-même, j'accède à la valeur de la propriété via le paramètre, comme ceci:

[CmdletBinding()]
param(
[string]$Configuration
)

J'essaie ensuite d'écrire la valeur de ce paramètre dans le script Powershell comme ceci

Write-Host "Checking Configuration: " + $Configuration

Je peux voir cette ligne quand je regarde lediagnostics de la construction, mais le problème est que la valeur du paramètre est toujours le littéral chaîne que je passe dans les arguments du script post-génération, mais jamais la valeur du paramètre de remplacement de Debug ou Release. Voici quelques exemples de ce qui est imprimé

Vérification de la configuration: $ Configuration

Vérification de la configuration: "$ Configuration"

Vérification de la configuration: "$ Configuration"

Vérification de la configuration: $ CONFIGURATION

Est-il possible de faire ce que j'essaie de faire - sontpropriétés du projet disponibles pour les scripts post-build? Il semble que cela soit possible en lisant d'autres questions sur ce site ainsi que des publications sur d'autres sites. Y a-t-il quelque chose de simple ou de complexe qui me manque? Merci!

Réponses:

0 pour la réponse № 1

J'ai eu le même problème et résolu en ajoutant la variable dans Variables d'environnement au Script de lancement tâche dans la construction XAML.

entrer la description de l'image ici