Моя командная строка MSBuild следующие:
msbuild e:\code\myProject.csproj /p:Configuration=Debug /p:OutputPath=bin/Debug /p:Platform=x86 /p:PlatformTarget=x86
Сборки проекта, прекрасные на моей машине разработки в VS2010, но не с командой выше. Я выполняю Win 7 64 - Бит. Я получаю ошибку, которая говорит, что мне не установили Silverlight 4 SDK, но я делаю. Я "ve читаю некоторые сообщения, что необходимо установить Platform=x86, но напрасно. Вот сообщение об ошибке полностью:
Microsoft (R) Build Engine Version 4.0.30319.1 [Microsoft .NET Framework, Version 4.0.30319.1] Copyright (C) Microsoft Corporation 2007. All rights reserved. Build started 6/8/2010 4:03:38 PM. Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010 .web.csproj" on node 1 (default targets). GenerateTargetFrameworkMonikerAttribute: Skipping target "GenerateTargetFrameworkMonikerAttribute" because all output fi les are up-to-date with respect to the input files. CoreCompile: Skipping target "CoreCompile" because all output files are up-to-date with resp ect to the input files. CopyFilesToOutputDirectory: Copying file from "obj\Debug\MyProject.Web.dll" to "bin\Debug\MyProject.Web .dll". MyProject2010.web -> E:\code\dashboards\MyProject2010\MyProject2010.Web \bin\Debug\MyProject.Web.dll Copying file from "obj\Debug\MyProject.Web.pdb" to "bin\Debug\MyProject.Web .pdb". Project "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010 .web.csproj" (1) is building "E:\code\dashboards\MyProject2010\MyProject20 10.Client\MyProject2010.Client.csproj" (2) on node 1 (GetXapOutputFile target( s)). C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v4.0\Microsoft.Silverlight .Common.targets(104,9): error : The Silverlight 4 SDK is not installed. [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" (default targets) -- FAILED. Build FAILED. "E:\code\dashboards\MyProject2010\MyProject2010.Web\MyProject2010.web.csp roj" (default target) (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): error : The Silverlight 4 SDK is not installed. [E:\c ode\dashboards\MyProject2010\MyProject2010.Client\MyProject2010.Client.cs proj] 0 Warning(s) 1 Error(s) Time Elapsed 00:00:00.39
Я ценю чью-либо справку.Спасибо.
У меня возникла эта проблема в 64-битной версии Windows 7 Ultimate при попытке установить Windows 7 Phone SDK. Никакая комбинация установки / ремонта SDK / Toolkit не работала для меня, поэтому я решил немного исследовать.
Поместив несколько задач сборки
в мой файл Microsoft.Silverlight.Common.targets, я обнаружил, что у меня нет записи реестра в 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>
Я не особо горжусь, но мне нужно обязательно, если я собираюсь сделать любой прогресс в развитии. Надеюсь, это поможет кому-то другому.