diff options
author | Junil Um <powerumc@gmail.com> | 2019-10-07 17:28:40 +0300 |
---|---|---|
committer | Alexander Köplinger <alex.koeplinger@outlook.com> | 2019-10-07 17:28:40 +0300 |
commit | 026d82fac3fe92162de68adda1f35c5d1b017023 (patch) | |
tree | e6dded282373ab1134d1ba1280b50b78f82803ff /mcs/tools | |
parent | 6861610662f19ee74f8f28ba00976b9f4641ee4b (diff) |
Fixed a bug in mono-service.cs (#17095)
There is a bug in mono-service.cs file.
`setup.ApplicationBase = Environment.CurrentDirectory;`;
General `Environment.CurrentDirectory` does returns `Directory.GetCurrentDirectory()`.
And retuened value 'current path' without last character `/` but `AppDomain.CurrentDomain.BaseDirectory`;
It have a problem in my service application.
In my service application code,
```cs
using System;
using System.IO;
namespace BaseDirTest
{
internal class Program
{
public static void Main(string[] args)
{
var baseDir = AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine($"baseDir={baseDir}");
Console.WriteLine($"Path.GetDirectoryName(baseDir)={Path.GetDirectoryName(baseDir)}");
}
}
}
```
When I launch `mono app.exe`,
```bash
baseDir=/workspace/test/mono-owin-test/ConsoleApplication1/BaseDirTest/bin/Debug/
Path.GetDirectoryName(baseDir)=/workspace/test/mono-owin-test/ConsoleApplication1/BaseDirTest/bin/Debug
```
But when I launch `mono-service --no-daemon app.exe`,
```bash
eDir=/workspace/test/mono-owin-test/ConsoleApplication1/mono-service-umc/bin/Debug
Path.GetDirectoryName(baseDir)=/workspace/test/mono-owin-test/ConsoleApplication1/mono-service-umc/bin
```
Because my service application can not founds plugin directory and scans it.
Diffstat (limited to 'mcs/tools')
-rw-r--r-- | mcs/tools/mono-service/mono-service.cs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/mcs/tools/mono-service/mono-service.cs b/mcs/tools/mono-service/mono-service.cs index 87847f849c2..b8091f172a9 100644 --- a/mcs/tools/mono-service/mono-service.cs +++ b/mcs/tools/mono-service/mono-service.cs @@ -127,7 +127,7 @@ class MonoServiceRunner : MarshalByRefObject // Create new AppDomain to run service AppDomainSetup setup = new AppDomainSetup (); - setup.ApplicationBase = Environment.CurrentDirectory; + setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; setup.ConfigurationFile = Path.Combine (Environment.CurrentDirectory, assembly + ".config"); setup.ApplicationName = logname; |