Ошибка командной строки MSBuild - Silverlight 4 SDK не установлен

Моя командная строка 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

Я ценю чью-либо справку.Спасибо.

36
задан AnthonyWJones 9 June 2010 в 08:49
поделиться

1 ответ

У меня возникла эта проблема в 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>

Я не особо горжусь, но мне нужно обязательно, если я собираюсь сделать любой прогресс в развитии. Надеюсь, это поможет кому-то другому.

2
ответ дан 27 November 2019 в 05:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: