[英]Is it possible to specify executablePath as a relative path in launchsettings.json?
我正在看一个由前同事编写的项目,在文件launchSettings.json
(在 Properties 下)中,他有以下内容:
{
"profiles": {
"ProjectName": {
"commandName": "Executable",
"executablePath": "C:\\code\\project\\\\src\\project.name\\bin\\Debug\\net471\\NServiceBus.Host.exe"
}
}
}
其中, executablePath
是他的本地存储库所在的路径。 但是当然,其他团队成员不会有相同的本地路径。 这很好,不是我们应该强制执行的。
两个问题:
-> "..\\net471\\NServiceBus.Host.exe"
您可以在代码中使用AppContext.BaseDirectory ,并从launchsettings.json
文件使用concat链接。
AppContext.BaseDirectory
值对应于AppDomain.BaseDirectory
是的,相对路径可以正常工作(例如.\\NServiceBus.Host.exe
,无需使用..\\
转到父文件夹,然后返回同一个文件夹, .\\
表示当前文件夹)。
并且Properties/launchSettings.json
还可以处理所有MSBuild 保留和众所周知的属性。
我使用$(MSBuildProjectDirectory)
来获取源项目的路径(在 bin 文件夹之外)。 例如,这会将我带到另一个项目,该项目是我正在运行的项目的兄弟项目:
"profiles": {
"MyApp": {
"commandName": "Project",
"commandLineArgs": "$(MSBuildProjectDirectory)/../Tests",
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.