首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# dotnet 解决 Path 获取文件名路径在 Windows 构建在 Linux 执行问题

最近需要支持国产的 UOS 系统,这个系统我采用了 Xamarin 加上 GTK 开发,而我的日志系统有一个功能是记录日志的时候传入当前的文件路径,此时 NuGet 包是在 Windows 下构建的,因此传入的路径是...此时在 Linux 上尝试获取文件名就炸了 在 dotnet 中,可以通过 CallerFilePath 特性获取调用当前方法的文件路径是哪个,请看下面代码 public void DoProcessing...因此在 Windows 服务器构建的 NuGet 包给日志注入字符串是构建服务器上的代码文件的路径 而我记日志只是使用了文件名而已,如下面代码 public static void LogInfo...下构建的在 Linux 下运行,而在 Windows 构建的库在 Windows 下执行。...系统的文件路径的坑,在这里被坑了几次了 更好的解决方法是在 Linux 运行的内容就在 Linux 构建,本来我的主项目也是在 Linux 构建的。

1.4K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何把python文件打包为可执行程序exe?

    但是对于不懂Python的人,如果直接发python文件,想要运行起来还是比较难的,如果能把python文件打包为可执行文件exe,在windows系统上双击就可以运行,那将极大地方便人们去使用。...本篇文章就介绍如何把Python GUI程序打包为可执行文件exe,可以在windows系统上双击轻松使用。...那我们如果要把python文件打包为exe可执行文件,有没有这样的库呢?回答是肯定的。 我们使用第三方库pyinstaller去打包python文件。...下面我们就介绍下如何使用pyinstaller打包Python文件? 1. 安装pyinstaller第三方库 pip install pyinstaller 2....-n 指定打包为exe的文件名字,后面跟你你想要的exe名字 就是这样,从此就可以把你写好的python程序打包为exe发给小白臭显摆,获取成就感了,也可以继续去忽悠你的女神了,哈。

    6.4K40

    什么是文件路径,Python中如何书写文件路径?

    在 Windows 中,根文件夹名为 D:\,也称为 D: 盘。在 OS X 和 Linux 中,根文件夹是 /。...Windows上的反斜杠以及OS X和Linux上的正斜杠 在 Windows 上,路径书写使用反斜杠 "\" 作为文件夹之间的分隔符。...但在 OS X 和 Linux 上,使用正斜杠 "/" 作为它们的路径分隔符。如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。...如果将单个文件和路径上的文件夹名称的字符串传递给它,os.path.join() 就会返回一个文件路径的字符串,包含正确的路径分隔符。...如果在 OS X 或 Linux 上调用这个函数,该字符串就会是 'demo/exercise'。 不仅如此,如果需要创建带有文件名称的文件存储路径,os.path.join() 函数同样很有用。

    6.6K40

    C#.NET 如何确认一个路径是否是合法的文件路径

    很多方法要求传入一个字符串作为文件名或者文件路径,不过方法在实际执行到使用文件名的时候才会真正使用到这个文件名;于是这这种时候才会因为各种各样的异常发现文件名或者文件路径是不合法的。...有没有方法能够提前验证文件名或者文件路径是否是合法的路径呢? ---- 这是一个不幸的结论 —— 没有!...实际上由我们自己写代码判断一个字符串是否是一个合法的文件路径是非常困难的,因为: 不同操作系统的路径格式是不同的; 同一个操作系统有各种各样不同的路径用途。...那么接下来如何验证呢?...但有时候是作为与用户的交互来判断路径或者文件名是否合法的,那么这个时候使用异常就不太合适了。毕竟 C#/.NET 的异常机制不应该参与正常的逻辑流程。

    4.1K20

    C#常见的文件路径Api

    我们经常有遇到要处理文件路径的需求,那么一般我们常见的有几种: 程序下面的文件 临时目录下的文件 获取程序下面的文件 首先我们创建了实例解决方案: ?...其中调用链是:Main.Shell->FooALibrary->,首先我们将FooAFolder.txt和FooA.txt的文件属性设置生成操作为内容,复制到输出目录为始终复制 那么我们有什么方法获取这两个文件的路径...:System.Environment.CurrentDirectory 但是实际上以上两种方式不是最准和最稳的,还有一种最稳的方式: 获取当前执行程序集的方式:Assembly.GetExecutingAssembly...Api是非常灵活且准确的 获取临时目录下的文件 我们也经常会遇到需要获取临时目录路径的方式来放置一些程序临时文件,可以用下面方式获取: Console.WriteLine(Path.GetTempPath...()); //C:\Users\Ryzen\AppData\Local\Temp\

    1.4K20

    如何把文件复制到桌面_如何把桌面文件放一起

    如何解决电脑桌面文件无法删除问题 电脑是现在最常用的工具之一,有些用户遇到了桌面文件无法删除问题,想知道如何解决,接下来小编就给大家介绍一下具体的操作步骤。 具体如下: 1....以上就是如何解决电脑桌面文件无法删除问题的方法。...5.如果是在“添加或删除程序”选项卸载一个软件后,发现软件的安装目录仍旧存在,里边残留着几个文件,直接删除时,系统却提示文 本文和大家分享windows XP系统如何加快启动速度,解决电脑启动慢!...这也是解决了很多电脑新手玩家遇到电脑启动慢不知道怎么去优化最头疼的一个问题,一台电脑以及它的相关外接设备到手了,它的硬件实体就固定了,这时候所能操作的只有软件程序了,本文围绕硬件与软件讲解,软件程序的安全与有一定风险,从简单与相对复杂几个方面就如何加快启动...重启电脑按F8进入安全模式,在安全模式的控制面板添加删除中把显卡驱动删除干净:然后重启正常进入系统,重新安装显卡驱动或换另一个版本的显卡驱动。

    2.8K10

    linux怎么把文件传到docker里面

    Docker镜像:这是一个只读的模板,包含运行应用所需的所有依赖和配置文件。二、传输文件的常用方法在Linux中,有几种常用的方式可以将文件传输到Docker容器中,下面将详细介绍几种方法。1..../path/to/myfile.txt my_container:/path/in/container/这里的/path/in/container/是你想将文件复制到的容器路径。.../path/to/data目录挂载到容器的/data目录,可以这样做:docker run -d -v /path/to/data:/data --name my_container my_image执行此命令后...,每次启动该镜像时,文件都会出现在指定的路径。...三、传输流程示意图为了更好地理解整个文件传输的流程,下面是一个简化的序列图示例:四、总结与注意事项在Linux中将文件传输到Docker容器可以通过多种方法实现,包括docker cp、-v选项、SCP

    6110

    linux下误执行rm -f命令后,如何恢复文件?

    hi,偶然间看到在linux运行了rm命令之后还能恢复,很是神奇所以就看了下,不知道是不是真的,管他呢先转载啊,不行再删呗反正怎么都是灌水,此文教程并未测试,如有问题请@原作者,在我们在生产环境服务器上执行...rm命令时,总是提心吊胆的,因为一不小心执行了误删,一旦误删没办法了然后就要准备跑路了,毕竟人不是机器,更何况机器也有bug,假如真的不小心删除了不该删除的文件,比如数据库、日志或执行文件,咋办呢?...在Linux系统中,每个运行中的程序都有一个宿主进程彼此隔离,以/proc/进程号来体现(Linux本质上就是一个文件系统),比如:ls -l /proc/13067 查看进程PID为13067的进程信息...;当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见...总结 如果不小心误删了文件,不要着急,首先使用 lsof 查看打开该文件的进程,然后再使用 cat /proc/进程号/fd/文件描述符 查看恢复数据,最后使用I/O重定向的方式来恢复文件。

    7.6K31
    领券