Je suis nouveau sur .NET Core 2.0, donc je pourrais faire tout cela mal, si c'est le cas, faites le moi savoir.
J'ai une application .NET core 2.0 qui devrait être multiplateforme, d'où l'application est une application console .dll, et cela fonctionne bien sur toutes les plates-formes.
J'essaie d'implémenter une sorte de chien de garde, qui en cas de processus nécessaire se dupliquera, et de la même manière, il a été appelé
> $ dotnet process.dll
Mon code est:
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();
Le problème est que lorsque le processus exécute ce code, je reçois l'exception suivante
Exception non gérée: System.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly 'System.Runtime, Version = 4.2.0.0, Culture = neutral, PublicKeyToken = someoken' ou l'une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Je ne trouve aucune mention de ruiner dotnet du code, et je ne sais même pas si c'est possible?
C'est possible? Le processus de base .NET est-il capable de se dupliquer?
Merci
Il semble que vous devez également définir le répertoire de travail sur path\release\PublishOutput\
pour être sûr qu'il s'exécute dans le même environnement que l'appel de dotnet process.dll
directement dans la console