我正在尝试以编程方式编译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命令行错误-未安装Silverlight 4 SDK
我从跑步中切换了:
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”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句