私の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
誰かの助けに感謝します。ありがとう。
私はこれを理解しました-MSBuildにx64またはx86環境を選択できる設定があります(MSBuildフラグを設定したのと同じページにあります)x86に設定そしてすべてが機能します。
tfs201 ビルドの問題が原因でここに到着した場合(Silverlight 4 SDKをインストールしている場合でも)、同じ修正を行うには、ビルドプロセステンプレートを編集する必要があります。 :
[プロセス]タブに移動し、[3.Advanced]セクションを展開して、下から2番目の設定( "MSBuild Platform")を見つけ、これをX86に設定します。これにより、ビルドエージェントにMSBuildのx86バリアントを使用するように指示します。
これは、上記のPaulBettsの回答と併せて私の問題を解決しました。
実行中に同じ問題が発生しました:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
単に実行します:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
スタートポストには、ターゲットプラットフォームをX86に設定する必要があると書かれていますが、それはビルドサーバーのソリューションではありません。
ビルド構成ファイルには、MSBuildプラットフォームをX86に設定するオプションがあります。この設定は、[プロセス]-> [3。詳細]-> [MSBuildプラットフォーム](デフォルトは自動に設定)で確認できます。
根本的な問題は、Silverlightが64ビットをサポートしていないことです。
私はこの解決策を見つけました: http://social.msdn.Microsoft.com/Forums/en/msbuild/thread/20a742a1-b99c-4638-8590-9a9d6a95fb69
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>
私が特に誇りに思っていることではありませんが、開発を進めるには必要があります。これが他の誰かに役立つことを願っています。
TeamCityを使用してこれと同じ問題が発生しました。私のビルドステップは、x64に設定されたMSBuildアクションでした。 x86に変更すると、機能しました。 :)
ビルドをX86に設定し、Silverlight SDK 4を再インストールしても役に立たなかった場合:ビルドサーバーでVS2013を使用している場合は、Windows PhoneSDKがインストールされているかどうかを確認します。 VS2013インストーラーを実行し、変更ボタンをクリックして、Windows PhoneSDKをインストールする必要がありました。
または、Windows Phone SDKをインストールして、WindowsPhoneソリューションを構築できるようにしてください。