内容简介:Windows 系统以及很多应用程序会考虑使用系统的环境变量来传递一些公共的参数或者配置。Windows 资源管理器使用本文介绍如何在 csproj 文件中使用环境变量。在 Windows 资源管理器中,我们可以使用
Windows 系统以及很多应用程序会考虑使用系统的环境变量来传递一些公共的参数或者配置。Windows 资源管理器使用 %var%
来使用环境变量,那么我们能否在 Visual Studio 的项目文件中使用环境变量呢?
本文介绍如何在 csproj 文件中使用环境变量。
遇到的问题
在 Windows 资源管理器中,我们可以使用 %AppData%
进入到用户的漫游路径。我正在为 希沃白板5 为互动教学而生 - 课件制作神器 编写插件,于是需要将插件放到指定目录:
%AppData%\Seewo\EasiNote5\Walterlv.Presentation
在 Windows 资源管理器中可以直接输入以上文字进入对应的目录(当然需要确保存在)。
更多关于路径的信息可以参考: UWP 中的各种文件路径(用户、缓存、漫游、安装……) - walterlv
然而,为了调试方便,我最好在 Visual Studio 中编写的时候就能直接输出到插件目录。
于是,我需要将 Visual Studio 的调试目录设置为以上目录,但是以上目录中包含环境变量 %AppData%
在 Visual Studio 中修改输出路径
如果直接在 csproj 中使用 %AppData%
,那么 Visual Studio 会原封不动地创建一个这样的文件夹。
实际上,Visual Studio 是天然支持环境变量的。直接使用 MSBuild 获取属性的语法即可获取环境变量的值。
也就是说,使用 $(AppData)
即可获取到其值。在我的电脑上是 C:\Users\lvyi\AppData\Roaming
。
于是,在 csproj 中设置 OutputPath
即可正确输出我的插件到目标路径。
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFrameworks>net472</TargetFrameworks> <OutputPath>$(AppData)\Seewo\EasiNote5\Extensions\Walterlv.Presentation</OutputPath> <AppendTargetFrameworkToOutputPath>False</AppendTargetFrameworkToOutputPath> </PropertyGroup> </Project>
这里,我额外设置了 AppendTargetFrameworkToOutputPath
属性,这是避免 net472
出现在了目标输出路径中。你可以阅读我的另一篇博客了解更多关于输出路径的问题:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JSON 在线解析
在线 JSON 格式化工具
UNIX 时间戳转换
UNIX 时间戳转换