Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@xamarin.com>2020-01-22 18:49:55 +0300
committerGitHub <noreply@github.com>2020-01-22 18:49:55 +0300
commite773976bf9dc7026bb40a1e1201726df13f30063 (patch)
treed5c59a8300779f0ed0f719ee4f22a55954a890b1
parent5fc926eb4f016ea31b51a405850a2c924260b0ed (diff)
parenta993419042be2071180c5b36d08fdca8c4e48206 (diff)
Merge pull request #9499 from mono/backport-pr-9498-to-release-8.4
[release-8.4] [AspNetCore] Enable support for launchSettings.json in Worker services
-rw-r--r--main/src/addins/MonoDevelop.AspNetCore/MonoDevelop.AspNetCore/AspNetCoreProjectExtension.cs34
-rw-r--r--main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectExtension.cs10
2 files changed, 27 insertions, 17 deletions
diff --git a/main/src/addins/MonoDevelop.AspNetCore/MonoDevelop.AspNetCore/AspNetCoreProjectExtension.cs b/main/src/addins/MonoDevelop.AspNetCore/MonoDevelop.AspNetCore/AspNetCoreProjectExtension.cs
index c17e990a32..2cfa694241 100644
--- a/main/src/addins/MonoDevelop.AspNetCore/MonoDevelop.AspNetCore/AspNetCoreProjectExtension.cs
+++ b/main/src/addins/MonoDevelop.AspNetCore/MonoDevelop.AspNetCore/AspNetCoreProjectExtension.cs
@@ -92,7 +92,7 @@ namespace MonoDevelop.AspNetCore
protected override bool SupportsObject (WorkspaceObject item)
{
- return DotNetCoreSupportsObject (item) && IsWebProject ((DotNetProject)item);
+ return DotNetCoreSupportsObject (item) && SupportsLaunchSettings ((DotNetProject)item);
}
protected override bool IsSupportedFramework (TargetFrameworkMoniker framework)
@@ -178,24 +178,28 @@ namespace MonoDevelop.AspNetCore
protected override IEnumerable<ExecutionTarget> OnGetExecutionTargets (OperationContext ctx, ConfigurationSelector configuration, SolutionItemRunConfiguration runConfig)
{
- var result = new List<ExecutionTarget> ();
- foreach (var browser in IdeServices.DesktopService.GetApplications ("https://localhost", Ide.Desktop.DesktopApplicationRole.Viewer)) {
- if (browser.IsDefault) {
- if (Project.HasMultipleTargetFrameworks) {
- result.InsertRange (0, GetMultipleTargetFrameworkExecutionTargets (browser));
+ if (IsWeb) {
+ var result = new List<ExecutionTarget> ();
+ foreach (var browser in IdeServices.DesktopService.GetApplications ("https://localhost", Ide.Desktop.DesktopApplicationRole.Viewer)) {
+ if (browser.IsDefault) {
+ if (Project.HasMultipleTargetFrameworks) {
+ result.InsertRange (0, GetMultipleTargetFrameworkExecutionTargets (browser));
+ } else {
+ result.Insert (0, new AspNetCoreExecutionTarget (browser));
+ }
} else {
- result.Insert (0, new AspNetCoreExecutionTarget (browser));
- }
- } else {
- if (Project.HasMultipleTargetFrameworks) {
- result.AddRange (GetMultipleTargetFrameworkExecutionTargets (browser));
- } else {
- result.Add (new AspNetCoreExecutionTarget (browser));
+ if (Project.HasMultipleTargetFrameworks) {
+ result.AddRange (GetMultipleTargetFrameworkExecutionTargets (browser));
+ } else {
+ result.Add (new AspNetCoreExecutionTarget (browser));
+ }
}
}
- }
- return result.Count > 0 ? result : base.OnGetExecutionTargets (configuration);
+ return result.Count > 0 ? result : base.OnGetExecutionTargets (configuration);
+ } else {
+ return base.OnGetExecutionTargets (configuration);
+ }
}
IEnumerable<ExecutionTarget> GetMultipleTargetFrameworkExecutionTargets (DesktopApplication browser)
diff --git a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectExtension.cs b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectExtension.cs
index ced8a441c4..e62b73f956 100644
--- a/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectExtension.cs
+++ b/main/src/addins/MonoDevelop.DotNetCore/MonoDevelop.DotNetCore/DotNetCoreProjectExtension.cs
@@ -75,7 +75,7 @@ namespace MonoDevelop.DotNetCore
protected override bool SupportsObject (WorkspaceObject item)
{
- return DotNetCoreSupportsObject (item) && !IsWebProject ((DotNetProject)item);
+ return DotNetCoreSupportsObject (item) && !SupportsLaunchSettings ((DotNetProject)item);
}
protected bool DotNetCoreSupportsObject (WorkspaceObject item)
@@ -404,7 +404,13 @@ namespace MonoDevelop.DotNetCore
public bool HasSdk => Project.MSBuildProject.GetReferencedSDKs ().Length > 0;
- protected bool IsWebProject (DotNetProject project)
+ protected static bool SupportsLaunchSettings (DotNetProject project)
+ {
+ return IsWebProject (project) ||
+ project.MSBuildProject.GetReferencedSDKs ().FirstOrDefault (x => x.IndexOf ("Microsoft.NET.Sdk.Worker", StringComparison.OrdinalIgnoreCase) != -1) != null;
+ }
+
+ protected static bool IsWebProject (DotNetProject project)
{
return (project.MSBuildProject.GetReferencedSDKs ().FirstOrDefault (x => x.IndexOf ("Microsoft.NET.Sdk.Web", StringComparison.OrdinalIgnoreCase) != -1) != null);
}