C#获取文件物理相对绝对路径目录的N种方法

C# OnnxRuntime集成BEN2模型实现桌面端实时人像分割 实时前景分割是计算机视觉领域的基础技术,其核心原理是通过深度学习模型对图像中的前景与背景进行像素级分类。该技术通过卷积神经网络提取特征,生成前景概率掩码,从而实现精准的对象分离。其技术价值在于为各类应用提供了高效、可部署的视觉感知能力,尤其在需要实时交互的场景中至关重要。应用场景广泛覆盖视频会议虚拟背景、直播抠像、互动娱乐及安防监控等。本文聚焦于利用OnnxRuntime推理引擎在C#桌面环境中部署轻量级BEN2分割模型,解决了传统OpenCV方法在复杂场景下边缘处理粗糙的问题,并针对模型集成、多线程优化及 阅读详情

个人精心整理,参考自网络,全面而无重复,转载请注明出处
各种方法其实都大同小异,并没有只适用于某环境的说法,底层实现应该是差不多的
只要引用并using相关类就能用,鬼知道为啥搞出来这么多相似的方法
以下语句按照所属类来分类了,并使用完整名称空间路径更清晰明了,结果路径全部是本人实测,注意有些返回路径最后没有"\"

以下结果由wwwroot\JiTai\TestPath.aspx页面的后台程序获取,大部分将返回wwwroot目录

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName模块路径
结果c:\windows\system32\inetsrv\w3wp.exe

System.AppDomain.CurrentDomain.BaseDirectory获取基目录
结果d:\clientweb\Web418453\wwwroot\
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase应用程序目录
结果d:\clientweb\Web418453\wwwroot\

System.Environment.CurrentDirectory工作目录
结果c:\windows\system32\inetsrv

System.Threading.Thread.GetDomain().BaseDirectory获取当前应用程序所在目录
结果d:\clientweb\Web418453\wwwroot\

System.Windows.Forms.Application.StartupPath应用程序目录
结果c:\windows\system32\inetsrv
System.Windows.Forms.Application.ExecutablePath应用程序目录
结果c:\windows\system32\inetsrv\w3wp.exe

Server.MapPath("虚拟路径")返回当前相对路径对应的物理绝对路径,一般用于获取页面的物理路径
结果d:\clientweb\Web418453\wwwroot\JiTai

System.Reflection.Assembly.GetExecutingAssembly().Location得到程序类库文件的路径
结果C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\a922cb06\9c5c43fe\assembly\dl3\f4a28de5\fee7f126_2853cf01\JiTaiJiaXiao.DLL

获取环境变量里面设置的系统目录
System.Environment.GetEnvironmentVariable("windir")结果C:\WINDOWS
System.Environment.GetEnvironmentVariable("INCLUDE")结果空白
System.Environment.GetEnvironmentVariable("TMP")结果C:\WINDOWS\TEMP
System.Environment.GetEnvironmentVariable("TEMP")结果C:\WINDOWS\TEMP
System.Environment.GetEnvironmentVariable("Path")结果是一大串各种命令行程序的目录地址
System.Environment.SystemDirectory结果C:/windows/system32

Request.PhysicalApplicationPath网站web程序常用,获取请求页面所在目录
结果d:\clientweb\Web418453\wwwroot\

System.IO.Directory.GetCurrentDirectory()结果c:\windows\system32\inetsrv
比较特殊的一个方法、返回文件流对应的路径,不可靠,这个会返回程序最后访问的文件目录
比如Word打开了E:\doc\my.doc,此时执行这个方法就返回E:\doc

更多问题欢迎QQ交流,176457718

基于大语言模型的自动化发现智能体:计算物理研究新范式 大语言模型(LLM)作为强大的语义理解和推理引擎,正从通用对话向垂直领域深度应用演进。其核心原理在于通过海量数据预训练获得知识表示和逻辑推理能力,结合提示工程、思维链等技术,能处理复杂、多步骤的任务规划。在工程实践层面,LLM的价值在于能够作为智能体(Agent)的“大脑”,通过调用和协调外部工具,将自然语言指令转化为可执行的工作流。这一技术范式在自动化、智能化要求高的场景中潜力巨大,例如科学计算与物理发现领域。计算物理研究长期面临从模型构思、代码实现到数据分析的漫长链条,研究者常耗费大量时间在重复性工程任 阅读详情

相关推荐

VSCode配置C#开发环境四层原理与跨平台实操指南

C#开发环境配置本质是编辑器与.NET运行时的系统级桥接工程,涉及.NET Runtime(程序执行地基)、.NET SDK(含编译器与构建工具)、OmniSharp语言服务器(提供智能提示与诊断)及VSCode C#扩展(用户交互入口)四层协同。理解其分层职责与版本兼容逻辑,是解决语法高亮失效、Ctrl+Click跳转失败、调试断点不命中等高频问题的关键。该配置模式广泛适用于Windows/macOS/Linux平台,支撑ASP.NET Core后端、Blazor前端、MAUI跨端及云原生容器化等现代应用

weixin_30457551的博客 408

C#获取文件物理路径(绝对路径)

在WinForm窗体应用程序和Web应用程序中,为了上传文件、读取绝对路径下的文件等功能,需要获取文件的物理路径,可以使用以下这些常用方法。 一、在WinForm窗体应用程序中 可用以下方法获取应用程序文件所在文件夹: System.Environment.CurrentDirectory; System.IO.Directory.GetCurrentDirectory(); System.Windows.Forms.Application.StartupPath; System.AppDomain

lfq761204的博客 4142

用友U9 PatchFile.asmx任意文件上传漏洞复现与安全加固

文件上传功能是Web应用中的常见组件,其核心原理是服务器接收客户端提交的文件数据并存储至指定位置。在实现过程中,若对用户可控的“目标路径”参数缺乏严格校验,则可能引发任意文件上传漏洞,其技术价值在于攻击者可借此在服务器上写入恶意文件,进而可能实现远程代码执行,危害极大。此类漏洞常出现在ERP、OA等企业级应用的文件更新或补丁管理接口中。本文以用友U9 ERP系统的PatchFile.asmx接口为例,深入剖析其因路径校验缺失导致的“任意文件上传”漏洞原理,并详细演示了如何通过构造恶意SOAP请求上传WebS

搜索 639

获取wwwroot路径

1。 private readonly IWebHostEnvironment _hostingEnvironment; 2. public HomeController(IWebHostEnvironment hostingEnvironment) { _hostingEnvironment = hostingEnvironment; } 3. string webRootPath = _hostingEnvironmen...

qq_41812381的博客 974

C#中转换绝对路径和相对路径的说明

在C#编程中,经常会遇到需要转换文件路径的情况,包括将相对路径转换为绝对路径,或者反过来。本文将详细介绍如何在C#中进行这些路径转换,并附上相应的源代码和描述。方法可以将绝对路径转换为相对路径。这些方法在处理文件路径时非常有用,能够帮助我们轻松地获取所需的路径信息。有时候,我们需要将一个绝对路径转换为相对于某个基础路径的相对路径。在C#中,我们可以使用。该方法接受一个相对路径作为参数,并返回其对应的绝对路径。本文介绍了在C#中转换绝对路径和相对路径的方法。方法,我们可以将相对路径转换为绝对路径。

HackQuestR的博客 759

C#人脸比对服务离线部署:ViewFaceService模型集成与调优

人脸识别技术常被误认为必须依赖云端API或GPU,然而通过特征向量比对原理,离线部署同样可以实现高效的人脸检测与身份核验。核心思路是将人脸图像转化为固定维度的特征向量,再通过余弦距离衡量相似度,从而完成1:1核验或1:N检索。ViewFaceService作为一套自带SeetaFace6模型的开源服务,将模型推理与HTTP接口封装为独立进程,C#客户端仅需发送请求即可获得检测框、特征值与相似度分数,适用于门禁考勤、VIP识别、工位监控等内网离线场景。工程落地时需关注模型路径配置、运行时依赖、防火墙放行,并通

weixin_34008805的博客 338

C#:相对路径转换为绝对路径

转换函数: //相对路径转化为绝对路径 public string UrlRelativeToAbsolute(string relative) { string absolutePath = System.IO.Path.GetFullPath(relative); return absolute...

zcc9618的博客 9613

C#联合Halcon四相机实时OCR系统工程实践

工业视觉中的多相机实时OCR,本质是高并发图像采集、低延迟字符识别与稳定上位机交互的系统工程问题。其核心原理在于解耦采集、识别与呈现三层逻辑,通过线程池隔离、环形缓冲区和GPU/CPU自适应OCR调度,突破端到端≤300ms的实时性瓶颈。技术价值体现在抗丢帧、防内存泄漏、免人工调参的产线鲁棒性,广泛应用于汽车螺栓编码识别、锂电池二维码追溯、食品日期校验等智能制造场景。本文聚焦C#与Halcon协同落地的关键架构与实操细节,覆盖从USB3.0相机初始化、DeepOCR模型加载到OCR区域精确定位的全链路实现。

weixin_33845881的博客 474

C#程序结构解析:从Hello World到命名空间与Main方法

理解编程语言的基础结构是掌握其开发能力的关键,这涉及到程序如何组织、编译和运行的核心原理。在C#和.NET平台中,程序通过命名空间进行逻辑分层,使用类作为功能封装的基本单元,并通过Main方法作为执行入口点。这种结构设计不仅保证了代码的可维护性和可扩展性,还为构建各类应用程序提供了统一的基础框架。从简单的控制台应用到复杂的Web开发,如ASP.NET Core Razor Pages,都建立在这一基础结构之上。本文以Hello World程序为起点,深入解析C#程序的骨架,帮助开发者建立扎实的编程基础,并平

weixin_34167819的博客 381

纯C#实现的塔防游戏原型:GDI+渲染与状态机设计

塔防游戏是理解实时状态管理与事件驱动架构的经典载体。其核心原理在于维护游戏对象生命周期、帧同步更新与碰撞判定等基础机制。技术价值体现在轻量级、无引擎依赖、可调试性强,特别适合C#中级开发者巩固面向对象设计与Windows桌面编程能力。典型应用场景包括教学原型开发、工业上位机界面逻辑验证、嵌入式人机交互仿真等。本文基于纯C# + System.Drawing + Windows Forms实现,深入剖析精灵渲染管线、碰撞网格系统和游戏状态机三大模块,涵盖GDI+绘图优化、帧循环控制及资源加载策略等关键实践细节

weixin_33769125的博客 387

C#人脸识别SDK实战:人眼开度计算与工程化接入指南

人脸识别SDK通常以C/C++动态库形式提供,在C#工程中需通过P/Invoke或C++/CLI封装调用。其核心原理是基于RGB或3D结构光图像进行关键点定位与特征比对,技术价值在于将识别能力嵌入上位机、门禁等系统。典型应用场景包括门禁考勤、疲劳监测与活体检测,其中人眼开度(EAR)计算常作为活体与状态判断的前置环节。实际落地需关注2D与3D人脸识别SDK的选型差异、相机接入与线程模型,并针对戴眼镜、侧脸等边界条件进行参数调优。

weixin_33912453的博客 372

UnrealSharp实战指南:C#开发虚幻引擎的15个核心要点

游戏引擎开发中,跨语言交互是连接不同技术栈、提升开发效率的关键技术。其核心原理是通过绑定层(Binding Layer)实现运行时类型映射与函数调用转换,在保持原生性能的同时,扩展开发语言的选择范围。这项技术的核心价值在于允许开发者使用更熟悉的编程语言和生态资源,降低学习成本,加速原型迭代与逻辑开发。在虚幻引擎(Unreal Engine)生态中,UnrealSharp正是实现C#与引擎C++核心交互的桥梁方案,它通过自动生成绑定代码,让开发者能够利用C#的现代语法和.NET丰富类库,高效开发游戏逻辑、工具

weixin_34175509的博客 363

C# Winform飞机大战:从零构建游戏循环与对象池优化实战

事件驱动编程是桌面应用开发的核心机制,它通过响应用户输入和系统消息来控制程序流程。在游戏开发中,这一原理演化为游戏循环(Game Loop),即一个持续运行的核心循环,负责处理输入、更新游戏状态和渲染画面,从而创造出动态交互体验。其技术价值在于将复杂的实时交互逻辑模块化、时序化,是实现流畅游戏体验的基础。典型的应用场景包括2D小游戏、工具软件和交互式演示程序。本文以经典飞机大战游戏为例,深入探讨如何在C# Winform中手动实现一个高效的游戏循环,并运用对象池(Object Pool)模式管理游戏对象,以

weixin_33853794的博客 342

人类活动分类的物理建模方法:从传感器数据到生物力学解释

人类活动分类是时序信号处理与行为识别的基础任务,其核心在于理解加速度计、陀螺仪等多源传感器数据背后的物理机制与人体运动学约束。不同于通用机器学习分类,该任务要求将生物力学常识(如关节活动范围、动作节律)转化为可计算的数学表达,通过傅里叶分析、互相关延迟、谱熵等物理锚定特征实现可解释建模。技术价值体现在提升跨受试者泛化能力、抑制噪声干扰、支持模型溯源验证;典型应用场景包括智能穿戴设备动作识别、健康监测系统及工业人因分析。本文聚焦小美赛C题实践,系统阐释如何以物理先验驱动特征工程与模型设计。

weixin_30516243的博客 389

C#操作文件系统绝对路径和相对路径

C#根据当前进程的启动路径,获得多个参数拼接的绝对路径。以及根据基准路径和参数获得相对路径。路径操作只用.NET中的System.IO和System.Text命名空间,相比其它的实现方式(比如采用System.Web命名空间)实用性更强,依赖更少。

基于车牌识别的停车收费系统的设计与实现(源码+开题)

本系统(程序源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景: 随着城市化进程的加速和汽车保有量的增加,停车难成为了一个普遍存在的问题。传统的停车收费方式存在着效率低下、管理混乱等问题。因此,开发一款基于车牌识别的停车收费系统具有重要的现实意义。研究意义: 基于车牌识别的停车收费系统可以有效地解决传统停车收费方式在效率和准确性方面的问题,提高停车服务的效率和质量。

迟限程序设计 1392

ASP.NET C#各种数据库连接字符串大全——SQLServer、Oracle、Access

刚开始学习C#开发项目时,长期会为了写一个安全的高效的数据库连接发愁。我发现现在很多刚开始学习的朋友和有些做了一两年的朋友,也有点犯愁,我就贴上这个代码,给自己以后做个参考,也给朋友做个学习的参考。      我主要在这里统计了.NET项目下常用的数据库连接字符串:SQLServer、Oracle、Access三种数据库(MySql、SQLLite、Excel、HTML Table等等暂不列入)

学而不思则罔 3563

四十二、Fluent欧拉模型流化床模拟:从基础设置到颗粒动力学解析

本文详细解析了Fluent欧拉模型在流化床模拟中的应用,从基础概念到颗粒动力学设置全面覆盖。重点介绍了欧拉模型的颗粒温度概念、多相流配置技巧以及关键参数优化策略,帮助工程师准确模拟气固两相流动现象。通过实用案例演示了网格检查、求解器配置和边界条件设置的最佳实践。

weixin_27303545的博客 445

C#连接数据库的ConnectionString字符串的格式说明

<br />连接字符串的基本格式包括一系列由分号分隔的关键字/值对。等号 (= ) 连接各个关键字及其值。若要包括含有分号、单引号字符或双引号字符的值,则该值必须用双引号括起来。如果该值同时包含分号和双引号字符,则该值可以用单引号括起来。如果该值以双引号字符开始,则也可以使用单引号。相反,如果该值以单引号开始,也可以使用双引号。如果该值同时包含单引号和双引号字符,则用于将该值括起来的引号字符每次出现时,都必须成对出现。<br />若要在字符串值中包括前导或尾随空格,则该值必须用单引号或双引号括起来。即使将整

aktsoso的专栏 1万+

Arduino粉尘传感器DIY:打造智能PM2.5监测仪

本文详细介绍了如何利用Arduino和粉尘传感器DIY一个智能PM2.5监测仪。从硬件选购、接线步骤到代码编写,提供了完整的制作指南,帮助读者以低成本打造透明可靠的空气质量监测设备,并探讨了数据解读与智能升级方案。

i3j4k5的博客 392

CAPL自动化测试

通过本文的学习,读者应该对CAPL自动化测试有了初步的了解,并能够编写复杂的CAPL脚本。在实际项目中,CAPL的应用非常广泛,希望读者能够通过不断的学习和实践,掌握更多的CAPL技巧,提高自己的开发能力。

闲人编程的博客 1528
上一篇: 不用光驱装XP流程
下一篇: asp.net C#母版页和内容页事件排版加载顺序生命周期
hs987654321
博客等级 码龄20年 8粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值