MSBuild失败:未安装Silverlight 4 SDK

问题描述:

我尝试以编程方式运行构建,并且在构建任何Silverlight内容时收到以下消息:“C:\ Program Files(x86)\ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.Common.targets(104,9):错误:未安装Silverlight 4 SDK“,但我安装了Silverlight 4 SDK(很多次)。MSBuild失败:未安装Silverlight 4 SDK

我试图基本上做的是建立这样的:

var logger = new FileLogger(); 
logger.Parameters = @"logfile=" + buildLogFileName; 

var projectToBuild = Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection.LoadProject(buildFile.FullName); 
       projectToBuild.SetProperty("Configuration", "Release"); 
var successfulBuild = projectToBuild.Build(logger); 

我已经尝试了一些解决方法和建议,但一切只是有点导致其他错误消息。看起来最好的方法是让它理解Silverlight 4 SDK IS的安装,但不知道该怎么做?或者如果有什么我在这里失踪。

+0

我目前没有安装Silverlight SDK。尝试查看C:\ Program Files文件(x86)\ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight.Common.targets(104,9) – 2011-04-14 13:07:39

+0

中检查的内容是什么上面的代码正在执行?我假设构建从VS命令行工作,那么有什么不同? – 2011-04-14 14:26:21

+0

在.targets文件中,它看起来像有一个$(TargetFrameworkSDKDirectory),但是当我们检查(通过构建消息)它是空白的,不知道它从哪里得到初始值?是否有需要设置或类似的Silverlight目标? – ChrisHDog 2011-04-15 02:25:21

在你的.csproj-文件,通过WindowsPhone的

更换标签WindowsPhone71

如果您的构建服务器有一个64位操作系统,this post是非常有用的。它告诉将Silverlight的构建强制为32位。

+0

伟大的职位,这基本上是我看到的问题,但我没有使用生成服务器,所以没有团队资源管理器打开/更改 – ChrisHDog 2012-05-22 07:42:21

+0

所以也许这个问题:http://*.com/questions/1074654/how-do-i-force-msbuild-to-compile-for-32-bit-mode可能对你有用。 – Timores 2012-05-22 13:18:52

如果将构建版本设置为X86并重新安装Silverlight SDK 4没有帮助: 如果您在构建服务器上使用VS2013,请检查是否安装了Windows Phone SDK。我不得不去运行VS2013安装程序,点击更改按钮并安装Windows Phone SDK。

或者尝试安装windows phone sdk来构建windows phone解决方案。

我得到了同样的错误, 改变形式AnpCPU | RELASE到X86 |发布

folow中的 http://joychua97.blogspot.com/2012/02/fixing-silverlight-4-sdk-is-not.html

C中的建议:\程序文件(x86)\的MSBuild \微软\ Silverlight的\ v4.0 \ Microsoft.Silverlight.Common.targets(104):未安装Silverlight 4 SDK。

环顾四周,他们说“Silverlight项目不能由64位MSBuild构建。”

要解决此问题: 1)编辑生成定义,并转到进程选项卡 2)展开“3.高级”部分,将“MSBuild的平台”的值改为“86” 3)保存构建定义。

+0

最糟糕的情况是,当您在.sln中有多个项目并且想要以64位构建其他项目时。 – user 2015-08-30 21:25:17