【发布时间】:2020-04-02 12:16:23
【问题描述】:
我们可以使用 dotnet core 命令行创建解决方案和项目。但我想在我的网络应用程序中运行这些命令并自动创建一个项目并下载它。
[HttpPost("create")]
public async Task<IActionResult> Create([FromBody] string projectName)
{
// dotnet dotnet new sln --name projectName
return created solution zip file
}
这可能吗?
【问题讨论】:
-
如果 sdk 安装在运行 Web 应用程序的机器上,您可以为此调用 dotnet cli
-
如何从应用程序调用 cli?
-
同任何命令行一样,有很多关于它的问题,比如这个Run command line code programmatically using C#
-
服务器的安全策略和限制不会让你直接运行 'dotnet' 进程。我只看到一种解决方案。您可以在旁边创建模板,然后您可以重命名代码中的内容,将它们打包并发回给用户。
-
创建所有项目模板并将它们保存为 Zip 文件,然后将其作为文件响应返回。没有安全问题的简单解决方案。
标签: c# asp.net-core .net-core