Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 由于异常,无法在具有supervisor的Linux上运行.NET Core 2.0应用程序_Asp.net_.net_Linux_Asp.net Core_Supervisord - Fatal编程技术网

Asp.net 由于异常,无法在具有supervisor的Linux上运行.NET Core 2.0应用程序

Asp.net 由于异常,无法在具有supervisor的Linux上运行.NET Core 2.0应用程序,asp.net,.net,linux,asp.net-core,supervisord,Asp.net,.net,Linux,Asp.net Core,Supervisord,我有一个.NETCore2.0应用程序,我想在Linux服务器上运行 一切都设置正确,如果我手动运行dotnet MyApplication.dll,那么应用程序将启动,并转到浏览器中的url,工作正常 我想用supervisor自动启动应用程序,就像我在网上看到的那样 Supervisor已安装并配置为运行我的应用程序,但是.NET应用程序无法启动,我可以在Supervisor错误日志中看到错误 System.ArgumentNullException: Value cannot be nul

我有一个.NETCore2.0应用程序,我想在Linux服务器上运行

一切都设置正确,如果我手动运行
dotnet MyApplication.dll
,那么应用程序将启动,并转到浏览器中的url,工作正常

我想用
supervisor
自动启动应用程序,就像我在网上看到的那样

Supervisor已安装并配置为运行我的应用程序,但是.NET应用程序无法启动,我可以在
Supervisor
错误日志中看到错误

System.ArgumentNullException: Value cannot be null.
Parameter name: path1
   at System.IO.Path.Combine(String path1, String path2)
   at Microsoft.DotNet.Configurer.CliFallbackFolderPathCalculator.get_DotnetUserProfileFolderPath()
   at Microsoft.DotNet.Configurer.FirstTimeUseNoticeSentinel..ctor(CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator)
   at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
   at Microsoft.DotNet.Cli.Program.Main(String[] args)
supervisor
配置如下:

[program:myapplication]
command=/usr/bin/dotnet /var/www/myapplication.mydomain/MyApplication.dll 
directory=/var/www/myapplication.mydomain
autostart=true
autorestart=true
stderr_logfile=/var/log/websites/myapplication.mydomain.err.log
stdout_logfile=/var/log/websites/myapplication.mydomain.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=myuser
stopsignal=INT
.NET Command Line Tools (2.0.0)

Product Information:
 Version:            2.0.0
 Commit SHA-1 hash:  cdcd1928c9

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  16.04
 OS Platform: Linux
 RID:         ubuntu.16.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.0.0/

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.0
  Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
dotnet--info
如下:

[program:myapplication]
command=/usr/bin/dotnet /var/www/myapplication.mydomain/MyApplication.dll 
directory=/var/www/myapplication.mydomain
autostart=true
autorestart=true
stderr_logfile=/var/log/websites/myapplication.mydomain.err.log
stdout_logfile=/var/log/websites/myapplication.mydomain.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=myuser
stopsignal=INT
.NET Command Line Tools (2.0.0)

Product Information:
 Version:            2.0.0
 Commit SHA-1 hash:  cdcd1928c9

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  16.04
 OS Platform: Linux
 RID:         ubuntu.16.04-x64
 Base Path:   /usr/share/dotnet/sdk/2.0.0/

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.0
  Build    : e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d
我很想让它工作


还将此问题发布在GitHub上,发现解决此问题的方法是将supervisor配置设置为以下值:

command=/usr/bin/dotnet MyApplication.dll 
directory=/var/www/myapplication.mydomain

我猜因为目录正在设置当前工作目录,所以dll的路径是错误的

发现解决方法是将管理器配置设置为以下内容:

command=/usr/bin/dotnet MyApplication.dll 
directory=/var/www/myapplication.mydomain

我猜,因为目录正在设置当前工作目录,所以dll的路径是错误的

如果命令中的dll文件名也是错误的,也会发生这种情况,因为Iv'e刚刚发现:-)如果命令中的dll文件名也是错误的,也会发生这种情况,因为Iv'e刚刚发现:-)