1

我正在使用 Microsoft.Build 引擎从另一个应用程序编译网站,但在获取正确的可部署内容时遇到了问题。

如果我使用以下 MSBuild 命令,网站将正确构建。“Outdir”目录 (C:\output) 包含 bin 文件夹中所有 DLL 的副本,但没有 aspx 页面。“WebProjectOutputDir”目录 (C:\weboutput) 包含整个部署包(DLL、aspx 页面、CSS 等)的完整副本。

msbuild website.sln  /property:Outdir=C:\output\ /property:WebProjectOutputDir=c:\weboutput\

我尝试使用以下代码结构在上面重新创建此命令:

Dictionary<string, string> globalProperties = new Dictionary<string, string>();
BuildParameters buildParameters = new BuildParameters();
buildParameters.DetailedSummary = true;

globalProperties.Add("OutDir", @"C:\output\");
globalProperties.Add("Configuration", configuration);
globalProperties.Add("WebProjectOutputDir", @"C:\weboutput\");

BuildRequestData buildRequest = new BuildRequestData(solutionFileFullPath, globalProperties, null, new string[] { "Build" }, null);
BuildResult buildResult = BuildManager.DefaultBuildManager.Build(buildParameters, buildRequest);

执行代码时,我会在“C:\output\”目录中获得构成网站的所有 DLL 的副本,就像上面一样,但在“WebProjectOutputDir”参数中指定的目录为空。是否有其他人使用过 Microsoft.Build 引擎来编译网站,如果是,您是如何获得可部署版本的代码的?

4

0 回答 0