wake-up-neo.com

MSBuild-Befehlszeilenfehler - Silverlight 4 SDK ist nicht installiert

Meine MSBuild-Befehlszeile lautet wie folgt: 

msbuild e:\code\myProject.csproj/p: Konfiguration = Debug/p: Ausgabepfad = bin/Debug/p: Plattform = x86/p: PlatformTarget = x86

Das Projekt kann auf meinem Entwicklungscomputer in VS2010 problemlos erstellt werden, jedoch nicht mit dem obigen Befehl. Ich verwende Win 7 64 - Bit. Es wird eine Fehlermeldung angezeigt, dass das Silverlight 4-SDK nicht installiert ist. Ich habe einige Beiträge gelesen, dass Sie die Plattform = x86 einstellen müssen, aber ohne Erfolg. Hier ist die Fehlermeldung vollständig:

 Microsoft (R) Build Engine Version 4.0.30319.1 
 [Microsoft .NET Framework, Version 4.0.30319.1] 
 Copyright (C) Microsoft Corporation 2007. Alle Rechte vorbehalten. 
 
 Build gestartet 08.06.2010 16:03:38 PM. 
 Projekt "E:\Code\Dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
. Web .csproj "auf Knoten 1 (Standardziele). 
 GenerateTargetFrameworkMonikerAttribute: 
 Überspringen des Ziels" GenerateTargetFrameworkMonikerAttribute ", da alle Ausgangsdateien 
 in Bezug auf die Eingabedateien aktuell sind . 
 CoreCompile: 
 Überspringen des Ziels "CoreCompile", da alle Ausgabedateien mit den entsprechenden Eingabedateien 
 Aktualisiert wurden. 
 CopyFilesToOutputDirectory: 
 Kopieren der Datei aus "obj\Debug\MyProject.Web.dll" nach "bin\Debug\MyProject.Web 
 .Dll". 
 MyProject2010.web -> E:\code\dashboards\MyProject2010\MyProject2010.Web 
\bin\Debug\MyProject.Web.dll 
 Kopieren der Datei aus "obj\Debug\MyProject.Web.p." db "nach" bin\Debug\MyProject.Web 
 .pdb ". 
 Projekt" E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
. web.csproj "(1) baut" E:\Code\Dashboards\MyProject2010\MyProject20 
 10.Client\MyProject2010.Client.csproj "(2) auf Knoten 1 (GetXapOutputFile-Ziel (
)). 
 C:\Programme (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight 
. Common.targets (104,9): Fehler: Das Silverlight 4-SDK ist nicht installiert. [E:\cod 
 E\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cspr 
 Oj] 
 Fertig. Bauprojekt "E:\code\dashboards\MyProject2010 \" MyProject2010.Clie 
 Nt\MyProject2010.Client.csproj "(GetXapOutputFile-Ziel (e)) - FAILED. 
 
 Fertig. Bauprojekt" E:\code\dashboards\MyProject2010\MyProject2010.Web\
 MyProject2010.web.csproj "(Standardziele) - FAILED. 
 
 
 Build FAILED. 
 
 ] "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010.web.csp 
 Roj" (Standardziel) (1) -> 
 "E:\code\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Clie 
 Nt.csproj "(GetXapOutputFile-Ziel) (2) -> 
 (GetFrameworkPaths-Ziel) -> 
 C:\Programme (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlig 
 Ht.Common.targets (104,9): Fehler: Das Silverlight 4-SDK ist nicht installiert. [E:\c 
 Ode\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cs 
 Proj] 
 
 0 Warnung (en) 
 1 Fehler 
 
 Verstrichene Zeit 00: 00: 00.39 

Ich bin dankbar für jedermanns Hilfe. Vielen Dank.

36
Ned

Ich habe das herausgefunden - es gibt eine Einstellung in MSBuild, in der Sie die x64- oder x86-Umgebung für MSBuild auswählen können (auf derselben Seite, auf der Sie MSBuild-Flags setzen) - auf x86 setzen und alles funktioniert.

23
Paul Betts

Wenn Sie aufgrund eines Problems mit tfs2010 builds, das den obigen Fehler verursacht (obwohl Sie das Silverlight 4-SDK installiert haben) hier angekommen sind, müssen Sie Ihre Build Process-Vorlage bearbeiten, um dieselbe Korrektur zu erhalten:

Wechseln Sie zur Registerkarte "Process", erweitern Sie den Abschnitt "3.Advanced", und suchen Sie die zweite Einstellung von unten ("MSBuild-Plattform"). Setzen Sie diese Option auf X86, wodurch der Build-Agent angewiesen wird, die x86-Variante von MSBuild zu verwenden.

Dies löste mein Problem in Verbindung mit der obigen Antwort von Paul Betts.

21
The Senator

Beim Ausführen ist das gleiche Problem aufgetreten: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe 

Einfach ausführen:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

20
seldary

Der Startbeitrag sagt, dass Sie Target Platform auf X86 setzen müssen, dies ist jedoch nicht die Lösung für den Build-Server.

In Ihrer Build-Konfigurationsdatei gibt es eine Option, um MSBuild Platform auf X86 zu setzen. Sie finden diese Einstellung unter: Prozess -> 3.Advanced -> MSBuild Platform (Standardeinstellung auto)

Das zugrunde liegende Problem ist, dass Silverlight 64-Bit nicht unterstützt.

Ich habe diese Lösung gefunden, die für mich funktioniert: http://social.msdn.Microsoft.com/Forums/de/msbuild/thread/20a742a1-b99c-4638-8590-9a9d6a95fb69

4
Wesley

Ich hatte dieses Problem unter Windows 7 Ultimate 64bit Edition, als ich versuchte, das Windows 7 Phone SDK einzurichten. Keine Kombination aus SDK/Toolkit-Installationen/Reparaturen hat sich für mich bewährt, daher habe ich mich entschieden, ein wenig weiter nachzuforschen.

Durch das Einfügen einer Reihe von <Message />-Build-Tasks in meine Microsoft.Silverlight.Common.targets-Datei entdeckte ich, dass ich keinen Registrierungseintrag unter Software\Microsoft\Silverlight\4.0 hatte. Dies gilt sowohl für den 32-Bit-Abschnitt als auch für den Wow6432Node-Abschnitt.

Die Ausgaben einiger Build-Ziele, die herausfinden, wo die Frameworks gespeichert sind, gaben also Leerzeichen zurück, woraufhin eine Reihe anderer Ziele fehlschlug. Insbesondere die Eigenschaften _FullFrameworkReferenceAssemblyPaths und TargetFrameworkDirectory wurden nicht ordnungsgemäß festgelegt.

Obwohl ich von allen Empfehlungen völlig abwegig bin, habe ich das Problem umgangen, indem ich die Werte manuell in die .targets-Datei geschrieben habe, wie folgt:

<PropertyGroup>
    <_FullFrameworkReferenceAssemblyPaths>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0</_FullFrameworkReferenceAssemblyPaths>
    <TargetFrameworkDirectory>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v4.0\Profile\WindowsPhone</TargetFrameworkDirectory>
</PropertyGroup>

Nicht etwas, worauf ich besonders stolz bin, aber ich muss, wenn ich Fortschritte in der Entwicklung machen möchte. Ich hoffe das hilft jemand anderem.

2

Ich habe das gleiche Problem mit TeamCity. Mein Build-Schritt war eine MSBuild-Aktion, die auf x64 gesetzt wurde. Nachdem ich es in x86 geändert hatte, funktionierte es. :)

0
C Johnson

Wenn die Einstellung von build auf X86 und die Neuinstallation von Silverlight SDK 4 nicht hilfreich war: Wenn Sie VS2013 auf dem Build-Server verwenden, prüfen Sie, ob Windows Phone SDK installiert ist. Ich musste VS2013 Installer ausführen, auf die Schaltfläche Ändern klicken und Windows Phone SDK installieren.

Oder versuchen Sie, Windows Phone SDK zu installieren, um Windows Phone-Lösungen erstellen zu können.

0
Ludwo