2017-11-16 3 views
2

.NET 코어 2.0을 처음 접했으므로이 사실을 완전히 잘못 알고있을 수 있습니다.process.start를 사용하여 cmd를 사용하여 .NET 핵심 애플 리케이션 (.dll) 실행하기

크로스 플랫폼이어야하는 .NET 코어 2.0 응용 프로그램이 있습니다. 따라서 응용 프로그램은 .dll 콘솔 응용 프로그램이며 모든 플랫폼에서 제대로 작동합니다. 내가 필요한 프로세스의 경우 자신을 복제하며, 같은 방법으로이

> $ dotnet process.dll 

내 코드가 호출되었음을, 워치 독의 종류를 구현하기 위해 노력하고있어

:

var process = new Process 
{ 
    StartInfo = new ProcessStartInfo 
    { 
     FileName = "dotnet", 
     Arguments = "path\release\PublishOutput\proces.dll" 
     UseShellExecute = true, 
     RedirectStandardOutput = false, 
     RedirectStandardError = false, 
     CreateNoWindow = true 
    } 

}; 

process.Start(); 

문제는 프로세스가이 코드를 실행할 때 다음과 같은 예외가 발생합니다.

처리되지 않은 예외 : System.IO.F ileNotFoundException : 파일 또는 어셈블리 'System.Runtime, 버전 = 4.2.0.0, 문화 = 중립, PublicKeyToken = sometoken'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.

코드에서 망가질 때 dotnet에 대해 언급 한 내용을 찾을 수 없으며 이것이 가능할지 모르겠습니까?

가능합니까? .NET 핵심 프로세스가 스스로를 복제 할 수 있습니까? 그것은 당신을 보인다

감사

답변

4

또한 콘솔에서 직접 지금 작업

+0

감사를 dotnet process.dll를 호출하는 것과 동일한 환경에서 실행되었는지 확인하기 위해 path\release\PublishOutput\에 WORKINGDIRECTORY를 설정해야합니다. – yntnm

관련 문제