2017-10-19 14 views
1

Linux 서버에서 실행하려는 .NET Core 2.0 응용 프로그램이 있습니다.관리자가있는 Linux에서 .NET Core 2.0 응용 프로그램을 실행할 수 없습니다. ArgumentNullException으로 인해

모든 것이 올바르게 설정되어 있고 dotnet MyApplication.dll을 수동으로 실행하면 응용 프로그램이 시작되어 브라우저의 URL로 이동하는 것이 좋습니다.

다른 사람들이 온라인에서 본 것처럼 자동으로 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 

dotnet --info 다음과 같이

.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 

이 작업을 얻을 싶어요!

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

디렉토리가 현재 작업 디렉토리를 설정하기 때문에 내가 추측 :

또한이에 대한 수정은 다음과 수퍼바이저 구성을 설정하는 것이라고 GitHub의 here에 밖으로 찾을 수

답변

1

이 문제를 게시 dll에 대한 경로가 잘못되었습니다.

+1

Iv'e가 방금 알아 낸 바와 같이 명령의 dll 파일 이름이 잘못되어도이 문제가 발생합니다. – shawty