Сборки Visual Studio в день

Мне кажется, что вы не сбрасываете поле ElapsedTime, поэтому, если вам нужно будет повторно ввести метод transitionscale(), условие в выражении while уже ложно, поэтому метод завершается без каких-либо действий.

Возможные решения этой проблемы: сброс переменной перед каждым вызовом метода ... следующим образом

// Inside the elarge canvas method
ElapsedTime = 0.0f;
StartCoroutine(transitionscale());

Альтернативно, и при меньших затратах вы можете сбросить ее в методе масштабирования транзакции.

IEnumerator transitionscale()

{
    ElapsedTime = 0.0f;

    while (ElapsedTime < TotalTime)
    {
        ElapsedTime += Time.deltaTime;
        Button.localScale = Vector3.Lerp(new Vector3(0, 0, 0), new
        Vector3(9, 7, 7), (ElapsedTime / TotalTime));
        yield return null;
    }
}

Вам нужно сделать то же самое для метода trasitionscaledown(). Рассмотрите одно из этих изменений и посмотрите, решит ли это вашу проблему.

7
задан Jason Jarrett 25 February 2009 в 01:57
поделиться

7 ответов

Используйте свой макро-проводник для создания нового макроса. Откройте новый макрос и отредактируйте Модуль EnvironmentEvents (можно оставить другой модуль пустым). Вы могли использовать базу данных вместо файла.

Private BuildStopWatch As System.Diagnostics.Stopwatch = New System.Diagnostics.Stopwatch()

Private Sub BuildEvents_OnBuildBegin(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildBegin
    BuildStopWatch.Reset()
    BuildStopWatch.Start()
End Sub

Private Sub BuildEvents_OnBuildDone(ByVal Scope As EnvDTE.vsBuildScope, ByVal Action As EnvDTE.vsBuildAction) Handles BuildEvents.OnBuildDone
    BuildStopWatch.Stop()
    DTE.ToolWindows.OutputWindow.ActivePane.OutputString("Build succeed in " & BuildStopWatch.Elapsed.TotalSeconds & " seconds.")
    Dim fileName As String = "D:\BuildTimes.txt"
    Try
        Dim streamWriter As StreamWriter
        If File.Exists(fileName) Then
            streamWriter = File.AppendText(fileName)
        Else
            streamWriter = File.CreateText(fileName)
        End If

        streamWriter.WriteLine(DateTime.Now.ToString() & "    " & "Build Time:" & BuildStopWatch.Elapsed.TotalSeconds)
        streamWriter.Close()
        streamWriter.Dispose()
    Catch ex As Exception
        MsgBox(ex.Message)
    End Try
End Sub
4
ответ дан 6 December 2019 в 15:32
поделиться

Одна опция состояла бы в том, чтобы создать несколько сценариев в Вашем любимом языке сценариев и добавить их к пред и события сборки сообщения настроек проекта.

Теперь каждый раз, когда Вы выполняете сборку, скрипты будут запущены, и у Вас может быть дорожка сценариев любая информация, которую Вы запрашиваете.

Но естественно это будет только работать на уровне проекта и не автоматически через все проекты.

10
ответ дан 6 December 2019 в 15:32
поделиться

Это могло бы быть излишество, но можно записать собственную утилиту входа для входа метаданных о сборке для каждого проекта. Отслеживайте количество сборки в тот день через Ваш класс входа.

См. эту ссылку о расширении входа MSBuild и этой ссылки о расширении MSBuild с пользовательскими задачами.

0
ответ дан 6 December 2019 в 15:32
поделиться

VS только позволяет Вам сцепляться в события сборки уровня проекта поэтому, если это не достаточно, можно использовать сценарий сборки (MSBuild, NAnt и т.д.) для создания решения, которое даст Вам полный контроль тем, что происходит прежде и/или после сборки.

Быть честным хотя, какую пользу Вы извлекли бы из этой статистики на локальной машине? Мы используем сервер сборки CCNET http://ccnet.thoughtworks.com/, который отслеживает время изготовления и времена Модульного теста, и инициирован после фиксации к нашему управлению исходным кодом SVN http://www.collab.net/downloads/subversion/ я рекомендовал бы этот подход для сбора статистики.

0
ответ дан 6 December 2019 в 15:32
поделиться

Если Вы разрабатываете тот же проект каждый раз, когда можно легко записать, немного сценария для выполнения в разделе "Pre-build tasks" Свойств проекта (нажмите кнопку "Build events" у основания вкладки Compile страницы свойств).

0
ответ дан 6 December 2019 в 15:32
поделиться

Убедитесь, что модуль EnvironmentsEvents импортирует пространство имен System.IO для доступа к вызовам StreamWriter и File.

0
ответ дан 6 December 2019 в 15:32
поделиться

http://www.codeproject.com/KB/macros/Increment_Build_Number.aspx

This worked for me, but be sure to Import the System.IO namespace in your EnvironmentsEvents module as Shawn suggested.

0
ответ дан 6 December 2019 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: