2010-04-16 3 views
13

Nous utilisons Mage.exe pour générer les manifestes de notre application dans le cadre de notre processus de construction. Lors de la mise à niveau vers .NET 4, nous constatons maintenant qu'il génère un manifeste invalide.Pourquoi Mage.exe ne génère pas d'attribut compatibleFrameworks?

La raison en est qu'aucun attribut compatibleFrameworks n'est défini dans le manifeste d'application que nous générons à chaque génération.

Y at-il un moyen que nous pouvons faire Mage.exe ajouter cet élément ou devrions-nous seulement mettre à jour les manifestes existants?

+0

Avez-vous déjà réglé ce problème?!?!?!?!?!?! –

+1

J'ai aussi besoin d'une solution pour ça. – joshuapoehls

Répondre

4

Ajouter à votre tâche GenerateDeploymentManifest MSBuild

TargetFrameworkMoniker=".NETFramework,Version=v4.0"   

et qui devrait fixer

+0

Merci David, je vais essayer quand je retournerai au travail –

+0

erreur MSB4064: Le paramètre "TargetFrameworkMoniker" n'est pas pris en charge par la tâche "GenerateDeploymentManifest". Vérifiez que le paramètre existe sur la tâche et qu'il s'agit d'une propriété d'instance publique configurable. –

+0

Si vous obtenez l'erreur 4064, vous devez modifier assurez-vous que la version ToolsVersion est mise à jour à 4.0 de 3.5 –

7

Il y a une copie distincte de mage.exe construit pour .NET 4.0. Essayez d'utiliser cette copie à partir de C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools (ou ...\v7.1\Bin\NETFX 4.0 Tools en fonction de la version du SDK installée).

En fait, j'avais ce même problème et en utilisant le mage.exe de NETFX 4.0 Tools l'ai fixé pour moi.

+1

Juste pour confirmer qu'il existe bien un .Net 4 spécifique mage.exe (version 4.0.30319.1). La version précédente était 3.5.30729.1 et l'utilisation de cette version pour une application .Net 4 entraîne l'erreur signalée pour moi. – redcalx

+0

Si vous avez essayé "toutes les versions" de mage/mageUI et que vous n'avez pas eu de succès (comme je l'ai fait), vous pouvez appeler la tâche MSBuild à partir du code comme mentionné [dans cette réponse] (http: // stackoverflow.com/questions/11141655/updating-deployment-manifest-for-a-clickonce-application-programmatically-result) – Shaun

Questions connexes