调用MSBuild打Website的部署zip包

来源:互联网 发布:淘宝店铺如何实名认证 编辑:程序博客网 时间:2024/05/29 13:23

1.调用Msbuild为Website打zip部署包:

2.当让我们的程序需要引用:

assemblyref://Microsoft.Build

assemblyref://Microsoft.Build.Conversion.v4.0

assemblyref://Microsoft.Build.Engine

assemblyref://Microsoft.Build.Framework

assemblyref://Microsoft.Build.Tasks.v4.0

assemblyref://Microsoft.Build.Utilities.v4.0

private static void BuildDeploymentPackage(string slnPath)        {            var projectsPath = Directory.GetParent(slnPath);            var projectFiles = projectsPath.GetFiles("*.*proj", SearchOption.AllDirectories);            IDictionary<string, TargetResult> results;            IEnumerable<ILogger> logger = new List<ILogger> { new ConsoleLogger() { Verbosity = LoggerVerbosity.Normal } };            foreach (var file in projectFiles)            {                ProjectInstance projectInstance = new ProjectInstance(file.FullName);                if (!projectInstance.Targets.ContainsKey("Deploy") && !projectInstance.Targets.ContainsKey("Package"))                    continue;                if (projectInstance.Targets.ContainsKey("Deploy"))                {                    projectInstance.RemoveProperty("DeployToDatabase");                    projectInstance.RemoveProperty("DeployToScript");                    projectInstance.SetProperty("UseSandboxSettings", "true");                    projectInstance.SetProperty("SandboxDeployToScript", "true");                    projectInstance.SetProperty("FinalDeployToDatabase", "false");                    projectInstance.SetProperty("FinalDeployToScript", "true");                    projectInstance.SetProperty("FinalTargetConnectionString", "");                    projectInstance.SetProperty("Platform", "AnyCPU");                    projectInstance.SetProperty("Configuration", "Debug");                    projectInstance.SetProperty("DeployToDatabase", "false");                    projectInstance.SetProperty("DeployToScript", "true");                    projectInstance.DefaultTargets.Add("Deploy");                }                else if (projectInstance.Targets.ContainsKey("Package"))                {                    projectInstance.RemoveProperty("PublishDatabases");                    projectInstance.SetProperty("Platform", "AnyCPU");                    projectInstance.SetProperty("Configuration", "Debug");                    projectInstance.SetProperty("PublishDatabases", "false");                    projectInstance.DefaultTargets.Add("Package");                }                bool success = projectInstance.Build(null, logger, out results);            }        }


 

原创粉丝点击