如何 运行 Azure 应用服务中的 .EXE
How to run a .EXE in an Azure App Service
我有一个 MVC .NET 应用程序,我想 运行 服务器上的一些 .exes。
exe 是 jarsigner.exe 和 zipalign.exe,用于修改和重新签署 android APK。我想从控制器 运行 它们。
它在本地工作,使用进程启动应用程序,但我作弊并使用硬编码路径指向 .exe 和包含 exe 使用的内容的文件夹。
我在 visual studio 中将 .exes 添加到我的项目的顶层,并添加了一个文件夹,其中包含 .exes 要处理的文件。
我正在努力研究如何获得 exe 和文件文件夹的路径。一旦我有了它,我就可以调用流程(我怀疑我可能会遇到权限问题,但一次一步......)。
var processInfo = new ProcessStartInfo(@"C:\jarsigner.exe", @"..arguments"){
CreateNoWindow = true, UseShellExecute = false
};
I'm struggling to workout how I get the path to the exes, and to the folder of files.
如果你的文件在项目的顶层。我们可以通过Server.MapPath(@"~\Jar\TextFile1.txt")找到路径。
对于 jarsigner.exe。它位于 java JDK 的 bin 文件夹中。所以我们可以使用环境变量。
这是获取 jarsigner.exe 和 运行 结果路径的示例代码。
//string path = Server.MapPath(@"~\Jar\TextFile1.txt"); //get file path on the top-level of project(eg. ~\folder\xxx)
string JavaPath = Environment.GetEnvironmentVariable("JAVA_HOME", EnvironmentVariableTarget.Machine);
if(string.IsNullOrEmpty(JavaPath)){
JavaPath = Environment.GetEnvironmentVariable("JAVA_HOME", EnvironmentVariableTarget.User);
}
string path = JavaPath + @"\bin\jarsigner.exe";
var processInfo = new ProcessStartInfo()
{
FileName = path,
CreateNoWindow = true,
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
};
Process proc = Process.Start(processInfo);
proc.WaitForExit();
if (proc.ExitCode == 0)
ViewBag.Message = path + " exec success.";
else
ViewBag.Message = path + " exec fail.";
return View();
我有一个 MVC .NET 应用程序,我想 运行 服务器上的一些 .exes。 exe 是 jarsigner.exe 和 zipalign.exe,用于修改和重新签署 android APK。我想从控制器 运行 它们。
它在本地工作,使用进程启动应用程序,但我作弊并使用硬编码路径指向 .exe 和包含 exe 使用的内容的文件夹。
我在 visual studio 中将 .exes 添加到我的项目的顶层,并添加了一个文件夹,其中包含 .exes 要处理的文件。
我正在努力研究如何获得 exe 和文件文件夹的路径。一旦我有了它,我就可以调用流程(我怀疑我可能会遇到权限问题,但一次一步......)。
var processInfo = new ProcessStartInfo(@"C:\jarsigner.exe", @"..arguments"){
CreateNoWindow = true, UseShellExecute = false
};
I'm struggling to workout how I get the path to the exes, and to the folder of files.
如果你的文件在项目的顶层。我们可以通过Server.MapPath(@"~\Jar\TextFile1.txt")找到路径。 对于 jarsigner.exe。它位于 java JDK 的 bin 文件夹中。所以我们可以使用环境变量。
这是获取 jarsigner.exe 和 运行 结果路径的示例代码。
//string path = Server.MapPath(@"~\Jar\TextFile1.txt"); //get file path on the top-level of project(eg. ~\folder\xxx)
string JavaPath = Environment.GetEnvironmentVariable("JAVA_HOME", EnvironmentVariableTarget.Machine);
if(string.IsNullOrEmpty(JavaPath)){
JavaPath = Environment.GetEnvironmentVariable("JAVA_HOME", EnvironmentVariableTarget.User);
}
string path = JavaPath + @"\bin\jarsigner.exe";
var processInfo = new ProcessStartInfo()
{
FileName = path,
CreateNoWindow = true,
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden
};
Process proc = Process.Start(processInfo);
proc.WaitForExit();
if (proc.ExitCode == 0)
ViewBag.Message = path + " exec success.";
else
ViewBag.Message = path + " exec fail.";
return View();