2010-04-16 10 views
13

Wir verwenden Mage.exe, um die Manifeste unserer Anwendung als Teil unseres Build-Prozesses zu generieren. Nach dem Upgrade auf .NET 4 wird jetzt ein ungültiges Manifest generiert.Warum generiert Mage.exe kein compatibleFrameworks-Attribut?

Der Grund ist, dass kein compatibleFrameworks-Attribut im Anwendungsmanifest festgelegt ist, das wir bei jedem Build generieren.

Gibt es eine Möglichkeit, wie wir Mage.exe dieses Element hinzufügen können oder sollten wir nur bestehende Manifeste aktualisieren?

+0

Haben Sie das jemals behoben?!?!?!?!?!?! –

+1

Ich brauche auch eine Lösung dafür. – joshuapoehls

Antwort

4

Fügen Sie diese auf Ihre GenerateDeploymentManifest MSBuild Aufgabe

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

und dass es

+0

Danke David, ich werde versuchen, wenn ich wieder zur Arbeit –

+0

Fehler MSB4064: Der "TargetFrameworkMoniker" -Parameter wird nicht von der Task "GenerateDeploymentManifest" unterstützt. Stellen Sie sicher, dass der Parameter für die Aufgabe vorhanden ist und dass es sich um eine einstellbare öffentliche Instanzeigenschaft handelt. –

+0

Wenn Sie den Fehler 4064 erhalten, müssen Sie stellen Sie sicher, dass die ToolsVersion auf 4.0 von 3.5 aktualisiert wird –

7

beheben Es gibt eine separate Kopie von mage.exe für .NET 4.0 gebaut. Verwenden Sie diese Kopie von C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools (oder ...\v7.1\Bin\NETFX 4.0 Tools abhängig von der SDK-Version, die Sie installiert haben).

Ich hatte tatsächlich das gleiche Problem und mit der mage.exe von NETFX 4.0 Tools reparierte es für mich.

+1

Nur um zu bestätigen, dass es tatsächlich eine .Net 4 spezifische mage.exe (Version 4.0.30319.1). Die vorherige Version war 3.5.30729.1 und die Verwendung dieser Version für eine .Net 4-Anwendung führt zu dem gemeldeten Fehler für mich. – redcalx

+0

Wenn Sie "alle Versionen" von mage/mageUI ausprobiert haben und keinen Erfolg hatten (so wie ich), dann sollten Sie den MSBuild-Task aus dem Code aufrufen, wie es in dieser Antwort erwähnt wird (http: // stackoverflow.com/questions/11141655/updating-deployment-manifest-for-a-clickonce-application-programmatically-result) – Shaun