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,但我这样做。 我已经阅读了一些文章,你必须设置平台= x86但没有用,这里是错误信息:
Microsoft(R)Build Engine版本4.0.30319.1 [Microsoft .NET Framework,版本4.0.30319.1] 版权所有(C)Microsoft Corporation 2007.保留所有权利。 开始build设6/8/2010 4:03:38 PM。 项目“E:\ code \ dashboards \ MyProject2010 \ MyProject2010.Web \ MyProject2010 .web.csproj“节点1(默认目标)。 GenerateTargetFrameworkMonikerAttribute: 跳过目标“GenerateTargetFrameworkMonikerAttribute”,因为所有的输出fi 文件相对于input文件是最新的。 CoreCompile: 跳过目标“CoreCompile”,因为所有输出文件都是最新的resp 等input文件。 CopyFilesToOutputDirectory: 将文件从“obj \ Debug \ MyProject.Web.dll”复制到“bin \ Debug \ MyProject.Web .DLL”。 MyProject2010.web - > E:\ code \ dashboards \ MyProject2010 \ MyProject2010.Web \ BIN \debugging\ MyProject.Web.dll 将文件从“obj \ Debug \ MyProject.Web.pdb”复制到“bin \ Debug \ MyProject.Web .PDB”。 项目“E:\ code \ dashboards \ MyProject2010 \ MyProject2010.Web \ MyProject2010 .web.csproj“(1)正在build立”E:\ code \ dashboards \ MyProject2010 \ MyProject20 10.Client \ MyProject2010.Client.csproj“(2)在节点1上(GetXapOutputFile target( S))。 C:\ Program Files(x86)\ MSBuild \ Microsoft \ Silverlight \ v4.0 \ Microsoft.Silverlight .Common.targets(104,9):错误:未安装Silverlight 4 SDK。 [E:\鳕鱼 Ë\仪表板\ MyProject2010 \ MyProject2010.Client \ MyProject2010.Client.cspr OJ] 完成构build项目“E:\ code \ dashboards \ MyProject2010 \ MyProject2010.Clie nt \ MyProject2010.Client.csproj“(GetXapOutputFile目标(s)) - 失败。 完成构build项目“E:\ code \ dashboards \ MyProject2010 \ MyProject2010.Web \ MyProject2010.web.csproj“(默认目标) - 失败。 build立失败。 “E:\代码\仪表板\ MyProject2010 \ MyProject2010.Web \ MyProject2010.web.csp roj“(默认目标)(1) - > “E:\代码\仪表板\ 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 4 SDK。 [E:\ C ODE \仪表板\ MyProject2010 \ MyProject2010.Client \ MyProject2010.Client.cs PROJ] 0警告(S) 1错误(s) 时间经过00:00:00.39
我感谢任何人的帮助。 谢谢。
我想到了这一点 – 在MSBuild中有一个设置,你可以selectMSBuild的x64或x86环境(在设置MSBuild标志的同一页面) – 将其设置为x86 ,一切都将工作。
如果由于tfs2010构build问题而到达这里,导致上述错误(即使已经安装了Silverlight 4 SDK),那么为了达到相同的修复程序,您必须编辑您的构build过程模板:
转到“进程”选项卡,展开“3.Advanced”部分,并从底部设置(“MSBuild平台”)find第二个,并将其设置为X86,然后将指示构build代理使用MSBuild的x86变体。
这与上面Paul Betts的回答一起解决了我的问题。
运行时遇到同样的问题: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
只需运行:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
开始文章说,你必须将目标平台设置为X86,但这不是生成服务器的解决scheme。
在你的构buildconfiguration文件中,有一个选项可以将MSBuild Platform设置为X86。 您可以通过以下方式find此设置:进程 – > 3.高级 – > MSBuild平台(默认设置为自动)
下面的问题是,Silverlight不支持64位。
我发现这个解决scheme,适用于我: http : //social.msdn.microsoft.com/Forums/en/msbuild/thread/20a742a1-b99c-4638-8590-9a9d6a95fb69
当试图设置Windows 7电话SDK时,我在Windows 7 Ultimate 64位版本上遇到了这个问题。 SDK /工具包安装/修复的组合没有为我工作,所以我决定进一步调查。
通过在我的Microsoft.Silverlight.Common.targets文件中放置一些<Message />
构build任务,我发现在Software \ Microsoft \ Silverlight \ 4.0中没有registry项。 对于32位段和Wow6432Node段都是如此。
因此,发现框架存储位置的一些构build目标的输出返回空白,随后使许多其他目标失败。 特别是,_FullFrameworkReferenceAssemblyPaths和TargetFrameworkDirectory属性没有被正确设置。
尽pipe对所有build议都完全嗤之以鼻,但是我通过手动将这些值硬编码到.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>
不是我特别引以为豪的,但是如果我要在发展方面取得进展的话,我们必须要这样做。 我希望这可以帮助别人。
如果将构build设置为X86并重新安装Silverlight SDK 4没有帮助:如果您在构build服务器上使用VS2013,请检查是否安装了Windows Phone SDK。 我不得不去运行VS2013安装程序,点击更改button,并安装Windows Phone SDK。
或者尝试安装windows phone sdk来构buildwindows phone解决scheme。
- 我可以在Visual Studio中设置LARGEADDRESSAWARE吗?
- MSBuild ProjectReference:private(“Copy Local”) – 允许的值和行为是什么?
- 使用Visual Studio 2012时SignTool.exe或“Windows Kits”目录的path
- 将所有警告视为错误
- msbuild,定义条件编译符号
- MSBuild不包含“VCTargetsPath”属性的值
- 如何将ILMerge集成到Visual Studio生成过程中以合并程序集?
- MSBuild在Visual Studio 2012解决scheme的TeamCity中
- 有没有简单的方法使Visual Studio 2015使用特定的ToolsVersion?