2010-04-16 11 views
13

Używamy Mage.exe do generowania manifestów naszej aplikacji w ramach naszego procesu budowania. Po aktualizacji do wersji .NET 4 okazało się, że generuje nieprawidłowy manifest.Dlaczego program Mage.exe nie generuje atrybutu compatibleFrameworks?

Powodem jest to, że nie ma ustawionego atrybutu compatFrameworks w manifeście aplikacji, który generujemy dla każdej kompilacji.

Czy istnieje sposób, aby zmusić Mage.exe do dodania tego elementu, czy powinniśmy tylko aktualizować istniejące manifesty?

+0

Czy kiedykolwiek to naprawiłeś?!?!?!?!?!?! –

+1

Potrzebuję też poprawki. – joshuapoehls

Odpowiedz

4

Dodaj do tego zadania GenerateDeploymentManifest MSBuild

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

i że należy go naprawić

+0

Dzięki David, spróbuję, kiedy wrócę do pracy –

+0

błąd MSB4064: Parametr "TargetFrameworkMoniker" nie jest obsługiwany przez zadanie "GenerateDeploymentManifest". Sprawdź, czy parametr istnieje w zadaniu i jest ustawialną właściwością instancji publicznej. –

+0

Jeśli pojawi się błąd 4064, musisz zmienić upewnij się, że ToolsVersion jest aktualizacją 4.0 z 3.5 –

7

istnieje odrębna kopia mage.exe zbudowane dla .NET 4.0. Spróbuj użyć tej kopii z C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools (lub ...\v7.1\Bin\NETFX 4.0 Tools w zależności od wersji SDK, którą zainstalowałeś).

Rzeczywiście miałem ten sam problem i za pomocą mage.exe z NETFX 4.0 Tools naprawiono go dla mnie.

+1

Tylko po to, aby potwierdzić, że rzeczywiście istnieje plik mage.exe .Net 4 (wersja 4.0.30319,1). Poprzednia wersja to 3.5.30729.1 i użycie tej wersji dla aplikacji .Net 4 powoduje zgłoszenie błędu dla mnie. – redcalx

+0

Jeśli wypróbowałeś "wszystkie wersje" maga/mageUI i nie odniosłeś sukcesu (tak jak ja), możesz sprawdzić wywołanie zadania MSBuild z kodu, jak wspomniano [w tej odpowiedzi] (http: // stackoverflow.com/questions/11141655/updating-deployment-manifest-for-a-clickonce-application-programmatically-result) – Shaun

Powiązane problemy