{ "cells": [ { "cell_type": "markdown", "metadata": { "dotnet_interactive": { "language": "csharp" }, "polyglot_notebook": { "kernelName": "csharp" } }, "source": [ "# 多语言笔记:内核中的各种路径" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "搞清楚,内核执行时的各种默认目录、路径,方便解决一些引用、文件等跟路径有关的问题。" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "dotnet_interactive": { "language": "csharp" }, "polyglot_notebook": { "kernelName": "csharp" }, "vscode": { "languageId": "polyglot-notebook" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "应用程序的基准目录 [AppContext.BaseDirectory] : C:\\Users\\asus\\.nuget\\packages\\microsoft.dotnet-interactive\\1.0.522904\\tools\\net8.0\\any\\\n", "程序安装当前基目录 [AppDomain.CurrentDomain.BaseDirectory] :C:\\Users\\asus\\.nuget\\packages\\microsoft.dotnet-interactive\\1.0.522904\\tools\\net8.0\\any\\\n", "程序安装或启动基目录 [AppDomain.CurrentDomain.SetupInformation.ApplicationBase] :C:\\Users\\asus\\.nuget\\packages\\microsoft.dotnet-interactive\\1.0.522904\\tools\\net8.0\\any\\\n", "进程主模块的完整路径 [Process.GetCurrentProcess().MainModule.FileName] :C:\\Program Files\\dotnet\\dotnet.exe\n", "当前工作目录 [Environment.CurrentDirectory] :e:\\王高峰\\我的项目\\学习项目\\HttpClientStudy\\Docs\n", "文件当前目录 [Directory.GetCurrentDirectory()] :e:\\王高峰\\我的项目\\学习项目\\HttpClientStudy\\Docs\n", "可执行程序集目录 [Assembly.GetExecutingAssembly().Location] :\n", "指定程序集目录 [Type.Assembly.Location] :C:\\Program Files\\dotnet\\shared\\Microsoft.NETCore.App\\8.0.5\\System.Private.CoreLib.dll\n" ] } ], "source": [ "// C#中,内核执行时,各种默认路径如下:\n", "\n", "using System;\n", "using System.IO;\n", "using System.Threading;\n", "using System.Threading.Tasks;\n", "using System.Diagnostics;\n", "using System.Reflection;\n", "using Microsoft.Extensions.DependencyInjection;\n", "\n", "//应用程序信息\n", "\n", "//程序的上下文基准目录:通常是应用程序启动时的目录,也可以理解为包含可执行文件的目录\n", "Console.WriteLine($\"应用程序的基准目录 [AppContext.BaseDirectory] : {AppContext.BaseDirectory}\");\n", "\n", "//程序安装当前基目录 \n", "Console.WriteLine($\"程序安装当前基目录 [AppDomain.CurrentDomain.BaseDirectory] :{AppDomain.CurrentDomain.BaseDirectory}\");\n", "\n", "//程序安装或启动基目录\n", "Console.WriteLine($\"程序安装或启动基目录 [AppDomain.CurrentDomain.SetupInformation.ApplicationBase] :{AppDomain.CurrentDomain.SetupInformation.ApplicationBase}\");\n", "\n", "//进程主模块的完整路径\n", "Console.WriteLine($\"进程主模块的完整路径 [Process.GetCurrentProcess().MainModule.FileName] :{Process.GetCurrentProcess()?.MainModule?.FileName}\");\n", "\n", "//环境变量:当前工作目录\n", "Console.WriteLine($\"当前工作目录 [Environment.CurrentDirectory] :{Environment.CurrentDirectory}\");\n", "\n", "//文件当前目录:当前工作目录:不一定是启动目录\n", "Console.WriteLine($\"文件当前目录 [Directory.GetCurrentDirectory()] :{Directory.GetCurrentDirectory()}\");\n", "\n", "//可执行程序集目录\n", "Console.WriteLine($\"可执行程序集目录 [Assembly.GetExecutingAssembly().Location] :{Assembly.GetExecutingAssembly().Location}\");\n", "\n", "//指定程序集目录:可以是引用类库、指定类所在类库目录 \n", "Console.WriteLine($\"指定程序集目录 [Type.Assembly.Location] :{typeof(System.Environment).Assembly.Location}\");\n" ] } ], "metadata": { "kernelspec": { "display_name": ".NET (C#)", "language": "C#", "name": ".net-csharp" }, "language_info": { "name": "python" }, "polyglot_notebook": { "kernelInfo": { "defaultKernelName": "csharp", "items": [ { "aliases": [], "name": "csharp" } ] } } }, "nbformat": 4, "nbformat_minor": 2 }