相关疑难解决方法(0)

如何以托管方式在.NET中获取父进程

我正在寻找很多方法来获取.NET中的父进程,但只找到了P/Invoke方式.

c# pinvoke managed process parent

80
推荐指数
4
解决办法
7万
查看次数

从Visual Studio运行控制台应用程序时,避免"按任意键继续"

通过"无需调试启动"(Ctrl+ F5)在Visual Studio中运行控制台应用程序时,控制台在运行结束时保持打开状态

按任意键继续 ...

因此需要激活窗口并按下一个键.有时这不合适.

为什么这重要:在我编写json序列化代码的那一刻,我的工作流程如下:

  • 适应c#代码
  • 运行一个写文件out.json的控制台应用程序
  • 使用json查看器在浏览器中查看out.json

一次又一次地执行此操作,无需调试任何内容,只需修剪序列化并检查输出是否正常.

这是像这样的工作流程,其中"按任何..."行为因为它需要步骤而阻碍

  • 激活控制台窗口
  • 按键.

没有答案:

  • 在VS外部在单独的控制台中启动应用程序不是一个答案.
  • 说,你不需要这个.

console-application visual-studio

22
推荐指数
3
解决办法
2万
查看次数

如何使用Visual Studio"命令行参数"选项将C#项目的stdout重定向到文件

我试图将C#程序的输出重定向到文件.使用"cmd.exe"时,我可以简单地运行它myprogram.exe arg1 arg2 > out.txt,但我想使用Visual Studio 启动选项完成相同的操作.

我创建了一个C#Empty Project并添加了以下代码:

using System;
class Test
{
    public static void Main(string[] args)
    {
        foreach (var arg in args) Console.WriteLine(arg);
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在项目设置中编辑了命令行参数: 项目属性

使用Ctrl + F5运行项目不能按预期工作.我得到控制台中打印的命令行参数,而不是输出文件:

arg1
arg2
>
output.txt
Run Code Online (Sandbox Code Playgroud)

如果我将命令行参数更改为:arg1 arg2 "> output.txt"我得到以下输出:

arg1
arg2
^> output.txt
Run Code Online (Sandbox Code Playgroud)

我注意到output.txt在Output文件夹中创建了一个空文件.

这件事有可能完成,还是我被迫继续使用cmd.exe来启动我的程序?

c# visual-studio visual-studio-2012

19
推荐指数
2
解决办法
1万
查看次数

VS编译控制台应用程序如何显示"按任意键继续"?

当我开发一个C#控制台应用程序(它将在服务器上运行)并使用Visual Studio运行它时,我会在程序终止之前收到"按任意键继续"消息.

但是,当我使用CSC手动编译完全相同的C#代码文件时,我的程序没有显示该消息,并在完成其逻辑后立即终止.

有没有人知道如何在不使用VS编译代码的情况下创建相同的功能,并且在没有更改C#代码的情况下添加ReadLine()?

更新:我学习C#时出现的相同消息,我曾经使用带有CSC的TextPad,并且该消息过去没有添加任何Write(Line)/ Read(Line)调用

.net c# console visual-studio

9
推荐指数
4
解决办法
1万
查看次数