不使用msbuild.exe以编程方式(如ClickOnce)发布版本

时间:2014-08-06 14:43:46

标签: c# .net wpf msbuild

我需要以ClickOnce的方式以编程方式发布(软件?)版本。我已经通过msbuild.exe成功完成了这个:

msbuild / t:clean; publish / v:d / p:SolutionDir = D:\ BuildOutputDirectory \ / p:PublishDir = D:\ BuildOutputDirectory \ / p:PublishUrl = D:\ BuildOutputDirectory / p:InstallUrl = D: \ BuildOutputDirectory \ D:\ Te mp \ Unive.Net \ Unive.Net \ Unive.Net.csproj

在目录" BuildOutputDirectory"它创建了一个目录"应用程序文件"和文件setup.exe和文件* .application。 有人可以指导我如何使用BuildRequestData类或类似的方法实现相同的目标吗?

请有人帮忙吗?

1 个答案:

答案 0 :(得分:0)

var globalProperties = new Dictionary<string, string>
{
    // http://msdn.microsoft.com/en-gb/library/ms165431.aspx
    { "PublishDir", "BuildOutputDirectory\\" }
};
var projectInstance = new ProjectInstance(@"C:\Users\Ilya.Kozhevnikov\Dropbox\Unive.Net\Unive.Net\Unive.Net.csproj", globalProperties, null);

var buildManager = BuildManager.DefaultBuildManager;
var buildParameters = new BuildParameters { Loggers = new[] { new ConsoleLogger() } };
var buildRequestData = new BuildRequestData(projectInstance, new[] { "Publish" });
var buildResult = buildManager.Build(buildParameters, buildRequestData);