gpt4 book ai didi

c# - .Net Core CLI 可以从 C# 应用程序中运行吗

转载 作者:行者123 更新时间:2023-12-04 16:39:43 24 4
gpt4 key购买 nike

我正在构建我的第一个 WPF 应用程序 - 一个开发人员工具。我正在.Net Core 3.1 中构建它。我需要使用 .Net Core CLI 从该工具中创建另一个应用程序。我真的有两个问题:

  1. 这可能吗?我做了很多研究,但到目前为止我一无所获。
  2. 是否有用于向类库项目添加新类的 CLI 命令?该工具需要创建一个新的解决方案,该解决方案与它创建的添加到项目中的所有类一起编译。

最佳答案

  1. Is this possible? I have done a lot of research but I have found nothing so far.

当然,它甚至与 WPF 无关。您可以像运行任何其他带有 Process 的程序一样运行 dotnet CLI。下面的代码将调用 dotnet 的帮助。

var process = new Process();
var startInfo = new ProcessStartInfo
{
FileName = "dotnet.exe",
Arguments = "-h"
};
process.StartInfo = startInfo;
process.Start();

如果您不想显示控制台寡妇,可以将这些选项添加到启动信息中。

CreateNoWindow = true,
WindowStyle = ProcessWindowStyle.Hidden,

请记住,命令可能会失败,您应该处理控制台输出以对此使用react。在此处查找相关帖子,演示如何 redirect console output.

  1. Is there a CLI command to add a new class to a class library project? The tool needs to create a new solution that compiles with all classes it creates added to the project.

让我们快速浏览一下您的应用程序的基本部分。由于调用 dotnet 的代码始终相同,但参数不同,我将只显示这些代码。

  1. 使用类库创建新解决方案
Arguments = @"new classlib -o C:\The\Path\To\Your\Solution -n MyProject"

classlib 命令将在给定目录中创建一个名为 MyProject 的类库。

  1. 添加新类
File.Create(@"C:\The\Path\To\Your\Solution\MyClass.cs");
File.WriteAllText(@"C:\The\Path\To\Your\Solution\MyOtherClass.cs", cSharpClassBoilerPlateCode);

据我所知,没有用于创建单个类文件的内置命令。但是,您可以使用 File.Create 创建一个 .cs 文件。或 File.WriteAllText直接在您的项目目录中包含一些样板代码。 .NET SDK 样式的项目格式默认包含项目目录中的所有源文件,除非您覆盖此行为。

  1. 编译项​​目
Arguments = @"build C:\The\Path\To\Your\Solution\MyProject.csproj"

这只是一个入门示例。 dotnet 命令行界面提供了更多选项来自定义和使用解决方案和项目,请参阅下文。

关于c# - .Net Core CLI 可以从 C# 应用程序中运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63340540/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com