public CloudServiceProject StartAzureEmulatorProcess(string rootPath)
{
string warning;
string roleInformation;
StringBuilder message = new StringBuilder();
CloudServiceProject cloudServiceProject = new CloudServiceProject(rootPath, null);
if (Directory.Exists(cloudServiceProject.Paths.LocalPackage))
{
WriteVerbose(Resources.StopEmulatorMessage);
cloudServiceProject.StopEmulators(out warning);
if (!string.IsNullOrEmpty(warning))
{
WriteWarning(warning);
}
WriteVerbose(Resources.StoppedEmulatorMessage);
string packagePath = cloudServiceProject.Paths.LocalPackage;
WriteVerbose(string.Format(Resources.RemovePackage, packagePath));
try
{
Directory.Delete(packagePath, true);
}
catch (IOException)
{
throw new InvalidOperationException(string.Format(Resources.FailedToCleanUpLocalPackage, packagePath));
}
}
WriteVerbose(string.Format(Resources.CreatingPackageMessage, "local"));
cloudServiceProject.CreatePackage(DevEnv.Local);
WriteVerbose(Resources.StartingEmulator);
cloudServiceProject.ResolveRuntimePackageUrls();
cloudServiceProject.StartEmulators(Launch.ToBool(), Mode, out roleInformation, out warning);
WriteVerbose(roleInformation);
if (!string.IsNullOrEmpty(warning))
{
WriteWarning(warning);
}
WriteVerbose(Resources.StartedEmulator);
SafeWriteOutputPSObject(
cloudServiceProject.GetType().FullName,
Parameters.ServiceName, cloudServiceProject.ServiceName,
Parameters.RootPath, cloudServiceProject.Paths.RootPath);
return cloudServiceProject;
}