web-dev-qa-db-ja.com

MSBuildコマンドラインエラー-Silverlight4SDKがインストールされていません

私のMSBuildコマンドラインは次のとおりです。

msbuild e:\ code\myProject.csproj/p:Configuration = Debug/p:OutputPath = bin/Debug/p:Platform = x86/p:PlatformTarget = x86

プロジェクトはVS2010の開発マシンで正常にビルドされますが、上記のコマンドではビルドされません。私はWin764ビットを実行しています。 Silverlight 4 SDKがインストールされていないというエラーが表示されますが、インストールされています。 Platform = x86を設定する必要があるが、役に立たないという投稿をいくつか読みました。エラーメッセージの全文は次のとおりです。

 Microsoft(R)BuildEngineバージョン4.0.30319.1 
 [Microsoft .NET Framework、バージョン4.0.30319.1] 
著作権(C)Microsoft Corporation 2007.無断複写・転載を禁じます。
 
ビルドは2010年6月8日16:03:38に開始されました。
プロジェクト "E:\ code\Dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
。webノード1の.csproj "(デフォルトのターゲット)。
 GenerateTargetFrameworkMonikerAttribute:
すべての出力ファイル
ファイルが入力ファイルに関して最新であるため、ターゲット" GenerateTargetFrameworkMonikerAttribute "をスキップします。 。
 CoreCompile:
すべての出力ファイルが最新であり、入力ファイルへの応答が
であるため、ターゲット「CoreCompile」をスキップします。
 CopyFilesToOutputDirectory:
ファイルを「obj\Debug\MyProject.Web.dll」から「bin\Debug\MyProject.Web 
。dll」にコピーしています。
 MyProject2010.web-> E:\ code\Dashboards\MyProject2010\MyProject2010.Web 
\bin\Debug\MyProject.Web.dll 
「obj\Debug\MyProject.Web.p」からファイルをコピーしていますdb "から" bin\Debug\MyProject.Web 
。pdb "。
 Project" E:\ code\Dashboards\MyProject2010\MyProject2010.Web\MyProject2010 
。web.csproj "(1)はノード1(GetXapOutputFile target(
 s))で" E:\ code\dashboards\MyProject2010\MyProject20 
 10.Client\MyProject2010.Client.csproj "(2)をビルドしています。
 C:\ Program Files(x86)\ MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight 
。Common.targets(104,9):エラー:Silverlight 4SDKはインストールされていない。 [E:\ cod 
 e\Dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cspr 
 oj] 
 Done Building Project "E:\ code\Dashboards\MyProject2010\MyProject2010.Clie 
 nt\MyProject2010.Client.csproj "(GetXapOutputFile target(s))-FAILED。
 
 Done Building Project" E:\ code\Dashboards\MyProject2010\MyProject2010.Web\
 MyProject2010.web.csproj "(デフォルトのターゲット)-FAILED。
 
 
 BuildFAILED。
 
 "E:\ code\Dashboards\MyProject2010\MyProject2010.Web\MyProject2010.web.csp 
 roj"(デフォルトターゲット)(1)-> 
 "E:\ code\Dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Clie 
 nt.csproj "(GetXapOutputFile target)(2)-> 
(GetFrameworkPaths target)-> 
 C:\ Program Files(x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlig 
 ht.Common.targets(104,9):エラー:Silverlight 4SDKがインストールされていません。 [E:\ c 
 ode\Dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cs 
 proj] 
 
 0警告
 1エラー
 
経過時間00:00:00.39 

誰かの助けに感謝します。ありがとう。

36
Ned

私はこれを理解しました-MSBuildにx64またはx86環境を選択できる設定があります(MSBuildフラグを設定したのと同じページにあります)x86に設定そしてすべてが機能します。

23
Ana Betts

tfs201 ビルドの問題が原因でここに到着した場合(Silverlight 4 SDKをインストールしている場合でも)、同じ修正を行うには、ビルドプロセステンプレートを編集する必要があります。 :

[プロセス]タブに移動し、[3.Advanced]セクションを展開して、下から2番目の設定( "MSBuild Platform")を見つけ、これをX86に設定します。これにより、ビルドエージェントにMSBuildのx86バリアントを使用するように指示します。

これは、上記のPaulBettsの回答と併せて私の問題を解決しました。

21
The Senator

実行中に同じ問題が発生しました:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe

単に実行します:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe

20
seldary

スタートポストには、ターゲットプラットフォームをX86に設定する必要があると書かれていますが、それはビルドサーバーのソリューションではありません。

ビルド構成ファイルには、MSBuildプラットフォームをX86に設定するオプションがあります。この設定は、[プロセス]-> [3。詳細]-> [MSBuildプラットフォーム](デフォルトは自動に設定)で確認できます。

根本的な問題は、Silverlightが64ビットをサポートしていないことです。

私はこの解決策を見つけました: http://social.msdn.Microsoft.com/Forums/en/msbuild/thread/20a742a1-b99c-4638-8590-9a9d6a95fb69

4
Wesley

Windows 7 Phone SDKをセットアップしようとしたときに、Windows 7 Ultimate64ビットエディションでこの問題が発生しました。 SDK/Toolkitのインストール/修復の組み合わせがうまくいかなかったので、もう少し調査することにしました。

Microsoft.Silverlight.Common.targetsファイルにいくつかの<Message />ビルドタスクを配置すると、Software\Microsoft\Silverlight\4.0にレジストリエントリがないことがわかりました。これは、32ビットセクションとWow6432Nodeセクションの両方に当てはまりました。

そのため、フレームワークが格納されている場所を検出するいくつかのビルドターゲットの出力は空白を返し、その後、他の多くのターゲットが失敗しました。具体的には、_FullFrameworkReferenceAssemblyPathsプロパティとTargetFrameworkDirectoryプロパティが正しく設定されていませんでした。

すべての推奨事項に完全に反対しましたが、次のように、値を.targetsファイルに手動でハードコーディングすることで問題を回避しました。

<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>

私が特に誇りに思っていることではありませんが、開発を進めるには必要があります。これが他の誰かに役立つことを願っています。

2

TeamCityを使用してこれと同じ問題が発生しました。私のビルドステップは、x64に設定されたMSBuildアクションでした。 x86に変更すると、機能しました。 :)

0
C Johnson

ビルドをX86に設定し、Silverlight SDK 4を再インストールしても役に立たなかった場合:ビルドサーバーでVS2013を使用している場合は、Windows PhoneSDKがインストールされているかどうかを確認します。 VS2013インストーラーを実行し、変更ボタンをクリックして、Windows PhoneSDKをインストールする必要がありました。

または、Windows Phone SDKをインストールして、WindowsPhoneソリューションを構築できるようにしてください。

0
Ludwo