О Team Build и создании веб-сайтов, проблема с пользовательским кодом - PullRequest
1 голос
/ 19 ноября 2010

Я пытаюсь опубликовать веб-сайт с помощью Team Build 2010, но я не увидел простых вариантов там.Поэтому я попытался создать пользовательское действие, которое вызывает процесс в агенте («aspnet_compiler.exe») с моими параметрами и опубликовать мой сайт.

Я могу удалять папки, создавать папки, компилировать и создавать проекты..

Но этот процесс просто не запускается на агенте, когда я его называю ... в чем проблема?

    protected override void Execute(CodeActivityContext context)
    {
        // Obtain the runtime value of the Text input argument
        // string text = context.GetValue(this.Text);
        Process proc = new Process();
        proc.EnableRaisingEvents = true;
        proc.StartInfo.WorkingDirectory = @"C:\Windows\Microsoft.NET\Framework\v2.0.50727";
        proc.StartInfo.FileName = "aspnet_compiler.exe";
        proc.StartInfo.Arguments = "-p "+context.GetValue(this.SourcesDirectory) +
               " -v / " + PublishDirectory;
        proc.Start();
        proc.WaitForExit();

        while (!proc.HasExited)
        {
        }

        context.SetValue(Result,proc.StandardOutput.ReadToEnd());
    }

Есть ли другой способ создания / публикации веб-сайтов?Что не так с моим кодом?

1 Ответ

1 голос
/ 20 ноября 2010

Каждый раз, когда TFS создает проект / решение, он автоматически публикует веб-проекты / сайты и помещает их в папку с именем _PublishedWebsites. Вы можете легко использовать это.

Кроме того, если вам нужно скопировать / переместить эту папку в другое место или даже если вам нужно сделать это с другими файлами / папками, вы можете использовать CopyDirectory, DeleteDirectory и другие действия Team Foundation Build. Если вам все еще нужно что-то запускать во время процесса сборки, вы можете использовать InvokeProcess действие по сборке вместо создания своей собственной деятельности по сборке.

...