【发布时间】:2014-03-20 09:28:48
【问题描述】:
我正在尝试以编程方式编译 Silverlight 项目。最初我只是包装了 MsBuild.exe,但有一个错误提示:
C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.Common.targets(104,9):未安装 Silverlight 4 SDK。
我正在使用 SilverLight 5 并安装了适用于 Silverlight 4 和 Silverlight 5 的 SDK。该解决方案在 Visual Studio 中编译良好。我遵循了这个问题的建议:
MSBuild command-line error - Silverlight 4 SDK is not installed
我从跑步中切换:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
到:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
这解决了问题,但由于需求发生变化,我现在需要使用 Microsoft.Build 而不包装 MsBuild exe。我有以下代码:
var globalProperty = new Dictionary<string, string> { { "Configuration", "Debug"}, { "Platform", "Any CPU" } };
var buildParameters = new BuildParameters(new ProjectCollection()) { Loggers = new List<ILogger> { this.logger } };
var buildRequest = new BuildRequestData(@"C:\example\solution.sln", globalProperty, "4.0", new[] {"Build" }, null);
BuildResult buildResult = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);
但是,我现在又看到了:
ValidateSilverlightFrameworkPaths:错误 C:\Program Files (x86)\MSBuild\Microsoft\Silverlight\v5.0\Microsoft.Silverlight.Common.targets(104,9):未安装 Silverlight 4 SDK..
有没有办法从 C# 代码中使用 x86 MsBuild 编译而不包装 MsBuild.exe?
【问题讨论】:
-
您是否尝试在项目选项中将目标平台设置为“x86”(我不确定这是否有帮助,但可能值得一试)?
标签: c# silverlight .net-4.0 msbuild silverlight-5.0