C# ProcessStart()在应用程序服务中找不到文件名

C# ProcessStart()在应用程序服务中找不到文件名,c#,.net-core,C#,.net Core,此代码在本地运行良好,但返回系统在部署到Azure应用程序服务(.net core 3.0)时找不到指定的文件 我已根据评论的反馈更新了代码,但错误仍然存在。 我错过了什么 var folder = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData); var filePath = Path.Combine(folder, @"npm\mapshaper.cmd")

此代码在本地运行良好,但返回系统在部署到Azure应用程序服务(.net core 3.0)时找不到指定的文件

我已根据评论的反馈更新了代码,但错误仍然存在。
我错过了什么

        var folder = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);
        var filePath = Path.Combine(folder, @"npm\mapshaper.cmd");
        // Outputs: "C:\DWASFiles\Sites\MyWebApp\AppData\npm\mapshaper.cmd"

        var process = new System.Diagnostics.Process
        {
            StartInfo =
            {
                FileName = filePath,
                Arguments = @"arguments"
            }
        };

        try
        {
            process.Start();
        }
        catch (Exception e)
        {
            return $"Running Process.Start. Path {filePath}: {e.Message}.";
        }

应用程序服务尚不支持.net Core 3.0。您需要在自容器模式下部署,而不是使用硬编码路径,是否可以基于
AppData
的环境变量使用
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
。您可以附加剩余的路径来形成path till.cmd文件。谢谢user1672994,我一定会研究它的。但是它会改变实际输出吗?您不能回答AppData文件夹总是指向
D:\local\AppData
。另外,有关其他信息,AppData中存储的文件是临时文件,这些文件不会在实例之间共享。如果要确保在实例之间共享文件,请使用指向
D:\home
文件夹的持久化文件。建议的更改是否有效?否。请参阅更新的代码,但问题仍然存在