c# - 如何在 Yeoman 生成器中创建一个新的 .net 核心项目
问题描述
我正在写一个 Yeoman 生成器。我怎么打电话
dotnet new
在我的发电机里面?有没有更好的方法在 yeoman 生成器中创建一个新的 .net 核心项目?
解决方案
一种可能性是直接调用dotnet new
。
const { execSync, exec } = require('child_process');
function formated_exec_sync(command) {
console.log("exec->" + command);
execSync(command, {stdio: 'inherit'});
}
function new_solution(name) {
formated_exec_sync(`dotnet new sln --name ${name}`);
}
function new_console_project(name) {
formated_exec_sync(`dotnet new console -lang "C#" --name ${name}`);
}
function add_project_to_solution(project_name, solution_name) {
formated_exec_sync(`dotnet sln ${solution_name}.sln add ${project_name}`);
}
function add_package_to_project(package, project, version = null) {
let command = `dotnet add ${project} package`;
if (version != null)
command += ` --version ${version}`;
command += ` ${package}`
formated_exec_sync(command);
}
module.exports = {
new_solution,
new_console_project,
add_project_to_solution,
add_package_to_project,
}
推荐阅读
- python - 创建 cuSolverDN 实例失败
- dart - 键盘打开时 Flutter 中的溢出错误
- apache-spark - 是否可以扩展 Apache Spark 的调度程序?
- c - 以下声明是什么意思?
- javascript - 在javascript(谷歌脚本)中获取两个字符串之间的文本
- go - Golang os/exec 刷新标准输入而不关闭它
- session - 多个 API 端点有多少个 aiohttp 会话?
- python - 属性错误:模块“lightgbm”没有属性“LGBMClassifier”和“Dataset”
- java - 如何启用BottomNavigationView的移位模式
- tfs - 是否有任何自定义选项来锁定特定迭代的工作项?