/// <summary>
/// This path must start with file:/// if it wants other project
/// to be able to reference the output on disk.
/// If the output is not on disk, then this requirement does not
/// apply as other projects probably don't know how to access it.
/// </summary>
public virtual int get_DeploySourceURL(out string pbstrDeploySourceURL)
{
string path = string.Empty;;
if (this.project is XProjectNode)
{
var xproject = project as XProjectNode;
path = project.GetOutputAssembly(xproject.CurrentConfig.ConfigCanonicalName);
}
if (String.IsNullOrEmpty(path))
{
path = project.GetProjectProperty(ProjectFileConstants.TargetPath);
}
if (path.Length < 9 || String.Compare(path.Substring(0, 8), "file:///", StringComparison.OrdinalIgnoreCase) != 0)
{
path = "file:///" + path; // TODO: does not work with '#' char, see e.g. bug 641942
}
pbstrDeploySourceURL = path;
return(VSConstants.S_OK);
}