예제 #1
0
        /// <summary>
        /// Quand la compil est terminée, on copie tout dans le répertoire du projet de startup
        /// </summary>
        /// <param name="scope">The scope.</param>
        /// <param name="action">The action.</param>
        void buildEvents_OnBuildDone(vsBuildScope scope, vsBuildAction action)
        {
            if (!buildSuccess)
            {
                return;
            }

            // Si le fichier modèle n'existe pas, on n'insiste pas
            string modelFileName = ServiceLocator.Instance.ShellHelper.GetSolutionAssociatedModelName();

            if (!File.Exists(modelFileName))
            {
                return;
            }

            // Chargement du modèle
            ModelLoader loader = ModelLoader.GetLoader(modelFileName, true);

            // Si on est pas en phase de compil, on arrete
            if (loader == null || loader.Model == null ||
                loader.Model.Component == null ||
                (action != vsBuildAction.vsBuildActionBuild && action != vsBuildAction.vsBuildActionRebuildAll) ||
                scope != vsBuildScope.vsBuildScopeSolution)
            {
                return;
            }

            // Copie des références de runtime dans le répertoire d'execution
            RepositoryManager.CopyToRuntimeFolder(loader.Model);
        }