从命令提示符运行控制台应用程序

Dblock247

我使用Jetbrains rider创建了一个控制台应用程序。然后,我将控制台应用程序发布到一个文件夹中。我将文件夹添加到我的系统路径。我可以运行echo %PATH%并看到该文件夹​​在路径中,但是如果我在该文件夹中,则只能运行控制台应用程序。如果将完整路径放入可执行文件,则不会起作用。

C:\ Program Files <公司名称> <程序名称> <文件>

我还检查了对另一个文件的文件权限,这似乎是相同的。我禁用了病毒防护,但也未能解决问题。

有什么想法为什么不能运行?我正在运行Windows 10。

解决方案

在创建应用程序配置时设置基本路径。

builder
    .SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location)) // set the base path
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .AddJsonFile($"appsettings.{context.HostingEnvironment.EnvironmentName}.json", optional: true, reloadOnChange: true)
    .AddEnvironmentVariables();
莫菲

您的应用程序编码不正确。它很可能引用可执行文件目录中存储的其他文件,而不使用任何路径,这意味着使用相对于当前目录的路径引用文件。

请参阅有关命名文件,路径和命名空间的Microsoft文档

应用程序的当前目录可能是包含应用程序可执行文件的目录,但是有成千上万个其他目录可以是启动应用程序时的当前目录。

每种编程/脚本语言都有一种方法来确定/获取自身的完整限定路径,即,当前执行的可执行文件或解释脚本文件存储在哪个目录中,该目录称为应用程序目录程序文件目录脚本目录

此路径必须与可执行文件/脚本或应用程序/脚本目录的子目录位于同一目录中的其他文件的文件名串联在一起。然后,对于可执行文件/脚本来说,哪个目录是当前目录就不再重要了,因为它以全限定名引用其所有文件/文件夹。

该解决方案可以在代码中使用:

builder.SetBasePath(Path.GetDirectoryName(Assembly.GetEntryAssembly()?.Location))

另请参阅:如何在.NET控制台应用程序中获取应用程序的路径?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从命令行Java应用程序更改命令提示符(控制台)窗口标题?

为什么Jmeter在后台打开控制台(命令提示符)?

从Visual Studio命令提示符运行nuget软件包管理器控制台

在命令提示符下获取已经运行的Windows进程的控制台输出?将StreamReader定向到命令提示符

如何在IDE内部而不是在命令提示符下显示Visual Studio控制台应用程序输出?

调试控制台的命令提示符在哪里?

如何使VB6控制台应用程序将输出打印到命令提示符

在.NET控制台应用程序中,如何获取用户在其中键入命令的命令提示符的路径?

从命令提示符运行MonoDevlop程序

Windows OS是否有平铺的控制台/命令提示符?

命令提示符-Shell,终端,控制台?

在Linux命令提示符下清除控制台

应用程序不是从命令提示符运行的,而是双击错误运行的:WERC6F9.tmp.WERInternalMetadata.xml

如何在命令提示符下运行Java应用程序(Eclipse)?

从命令提示符创建Windows应用商店应用程序包

Visual Studio中的正常命令提示符/控制台

通过命令提示符启动应用程序

从命令提示符运行程序时如何显示控制台输出

从命令提示符运行Rails应用程序时出错

在运行应用程序时启用滚轮滚动命令提示符

从命令提示符启动时更改应用程序的标题

程序不会打印到命令提示符,但会打印到netbeans控制台

从命令提示符运行提升的 powershell 命令

如何验证控制台命令提示符输入

如何从命令提示符优雅地停止 Java 应用程序

运行应用程序后禁用 LoopBack 命令提示符

在没有命令提示符的情况下运行 Flask 应用程序

如何在命令提示符中获取文件夹路径,而不是在 C# 控制台应用程序中?

如何在命令提示符中获取文件夹路径,而不是在 C# 控制台应用程序中?