gpt4 book ai didi

c# - 执行程序集位置未知

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:31 25 4
gpt4 key购买 nike

长话短说

为什么

System.Reflection.Assembly.GetExecutingAssembly().Location 

返回 "<Unknown>"

整个故事:当我手动运行我的控制台应用程序时,一切顺利。当我设置 Task Scheduler 来运行我的应用程序时,出现了一个问题:我的应用程序找不到一些依赖文件。这些文件是这样写在 .config 文件中的: <add key="SomeFile" value="SomeFolder\SomeFile.xml"/> ,我只需要相对路径。

当我手动运行我的应用程序时,“当前文件夹”=“应用程序文件夹”,但是当我使用任务计划程序运行时,“当前文件夹”= C:\Windows\system32 ,因为使用 Task Scheduler 我的应用程序在 taskeng.exe 下运行位于 system32 中。

所以要找到程序集路径,我想使用这段代码:

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

来自这个答案https://stackoverflow.com/a/16102640/6184866 .

但它不起作用。

最佳答案

native 编译后,程序集不再存在于文件系统中。

最近拉取当前目录的方法是:

AppContext.BaseDirectory

这适用于 .net6

关于c# - 执行程序集位置未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40477734/

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