public override void Execute()
        {
            var mvcEndpoint = CurrentElement.As <INServiceBusMVC>();

            if (!mvcEndpoint.IsSignalREnabled)
            {
                var project = CurrentElement.GetProject();
                if (project == null)
                {
                    return;
                }

                // TODO: Remove the Nugetpackages for SignalR

                // Modify the route config
                var filePath = String.Format("{0}\\App_Start\\RouteConfig.cs", mvcEndpoint.Namespace);
                var item     = Solution.FindItem(filePath);

                if (item != null)
                {
                    var contents = File.ReadAllText(item.PhysicalPath);
                    //TODO: Remove hack - either add the MapHubs in a new file rather than Modifying RouteConfig or use proper code DOM to locate the function rather than relying that position of the function!
                    // Hack begin - read using a better code dom rather than traversing using {!
                    var newContents = contents.Replace("routes.MapHubs();", "");
                    item.SetContent(newContents);
                    // Hack end
                }
            }
        }
Beispiel #2
0
        public override void Execute()
        {
            var app          = CurrentElement.Root.As <IApplication>();
            var infraproject = CurrentElement.GetProject();

            if (infraproject != null)
            {
                // Get the target Nsb version. NServiceBus.Interfaces in deprecated from v5
                if (!infraproject.HasReference("NServiceBus") && app.TargetNsbVersion == TargetNsbVersion.Version4)
                {
                    infraproject.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Interfaces", app.GetTargetNsbVersion(CurrentElement));
                    infraproject.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus", app.GetTargetNsbVersion(CurrentElement));
                }
                if (!infraproject.HasReference("NServiceBus") && app.TargetNsbVersion == TargetNsbVersion.Version5)
                {
                    infraproject.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus", app.GetTargetNsbVersion(CurrentElement));
                }
            }
        }
Beispiel #3
0
        public override void Execute()
        {
            var nserviceBusMVC = CurrentElement.As <INServiceBusMVC>();

            if (!nserviceBusMVC.IsSignalREnabled)
            {
                var project = CurrentElement.GetProject();
                if (project == null)
                {
                    return;
                }

                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Owin", "1.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.Web.Infrastructure", "1.0.0.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.Owin.Host.SystemWeb", "1.0.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.AspNet.SignalR.Core", "1.0.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.AspNet.SignalR.Owin", "1.0.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.AspNet.SignalR.JS", "1.0.0");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.AspNet.SignalR", "1.0.0");
            }
        }
        public override void Execute()
        {
            var nserviceBusMVC = CurrentElement.As <INServiceBusMVC>();

            if (nserviceBusMVC == null)
            {
                return;
            }

            var project = CurrentElement.GetProject();

            if (project == null)
            {
                return;
            }

            if (!nserviceBusMVC.TestControllerSupportDeployed)
            {
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "jQuery", "1.7.1");
                project.InstallNugetPackageForSpecifiedVersion(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "Microsoft.jQuery.Unobtrusive.Ajax", "2.0.30506.0");
                nserviceBusMVC.TestControllerSupportDeployed = true;
            }
        }
        public override void Execute()
        {
            var app     = CurrentElement.Root.As <IApplication>();
            var project = CurrentElement.GetProject();

            if (project == null)
            {
                return;
            }

            // NuGet packages are installed explicitly to prevent nuget from resolving dependencies itself.
            // Packages are not uninstalled to improve performance. Instead, project references are removed.

            //<Reference Include="NServiceBus" />
            //<Reference Include="NServiceBus.Core" />
            //<Reference Include="NServiceBus.Host" />

            var targetNsbVersion = app.GetTargetNsbVersion(CurrentElement);

            if (!project.HasReference("NServiceBus"))
            {
                if (app.TargetNsbVersion == TargetNsbVersion.Version4)
                {
                    // NServiceBus.Interfaces is needed only for Major Version 4
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Interfaces", targetNsbVersion);
                }
                project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus", targetNsbVersion);

                if (!IgnoreHost)
                {
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Host", targetNsbVersion);
                }
                else
                {
                    // This is needed for AspNet MVC Integration for the time being.
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Autofac", targetNsbVersion);
                }
            }

            //<Reference Include="NServiceBus.Transports.RabbitMQ" />
            if (app.Transport == TransportType.RabbitMQ.ToString())
            {
                if (!project.HasReference("NServiceBus.RabbitMQ"))
                {
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.RabbitMQ", targetNsbVersion);
                }
            }
            else
            {
                project.RemoveReference("RabbitMQ.Client");
                project.RemoveReference("NServiceBus.Transports.RabbitMQ");
            }

            //<Reference Include="NServiceBus.SqlServer" />
            if (app.Transport == TransportType.SqlServer.ToString())
            {
                if (!project.HasReference("NServiceBus.SqlServer"))
                {
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.SqlServer", targetNsbVersion);
                }
            }
            else
            {
                project.RemoveReference("NServiceBus.Transports.SQLServer");
            }

            //<Reference Include="NServiceBus.Azure.Transports.WindowsAzureStorageQueues" />
            if (app.Transport == TransportType.AzureQueues.ToString())
            {
                if (!project.HasReference("NServiceBus.Azure.Transports.WindowsAzureStorageQueues"))
                {
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Azure.Transports.WindowsAzureStorageQueues", targetNsbVersion);
                }
            }
            else
            {
                project.RemoveReference("NServiceBus.Azure.Transports.WindowsAzureStorageQueues");
            }

            //<Reference Include="NServiceBus.Azure.Transports.WindowsAzureServiceBus" />
            if (app.Transport == TransportType.AzureServiceBus.ToString())
            {
                if (!project.HasReference("NServiceBus.Azure.Transports.WindowsAzureServiceBus"))
                {
                    project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, "NServiceBus.Azure.Transports.WindowsAzureServiceBus", targetNsbVersion);
                }
            }
            else
            {
                project.RemoveReference("NServiceBus.Azure.Transports.WindowsAzureServiceBus");
            }

            var availablePlugins = new List <string>();

            if (app.TargetNsbVersion == TargetNsbVersion.Version5)
            {
                availablePlugins.Add("ServiceControl.Plugin.Nsb5.DebugSession");
                availablePlugins.Add("ServiceControl.Plugin.Nsb5.Heartbeat");
                availablePlugins.Add("ServiceControl.Plugin.Nsb5.CustomChecks");
                availablePlugins.Add("ServiceControl.Plugin.Nsb5.SagaAudit");
            }
            if (app.TargetNsbVersion == TargetNsbVersion.Version4)
            {
                availablePlugins.Add("ServiceControl.Plugin.Nsb4.DebugSession");
                availablePlugins.Add("ServiceControl.Plugin.Nsb4.Heartbeat");
                availablePlugins.Add("ServiceControl.Plugin.Nsb4.CustomChecks");
                availablePlugins.Add("ServiceControl.Plugin.Nsb4.SagaAudit");
            }

            if (!String.IsNullOrEmpty(app.ServiceControlInstanceURI))
            {
                foreach (var plugin in availablePlugins)
                {
                    if (!project.HasReference(plugin))
                    {
                        project.InstallNuGetPackage(VsPackageInstallerServices, VsPackageInstaller, StatusBar, plugin, targetNsbVersion);
                    }
                }
            }
            else
            {
                foreach (var plugin in availablePlugins)
                {
                    project.RemoveReference(plugin);
                }
            }
        }