Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio Visual Studio应用程序无需修改路径即可调用的简单惯用方法_Visual Studio_Inno Setup - Fatal编程技术网

Visual studio Visual Studio应用程序无需修改路径即可调用的简单惯用方法

Visual studio Visual Studio应用程序无需修改路径即可调用的简单惯用方法,visual-studio,inno-setup,Visual Studio,Inno Setup,VisualStudio应用程序在VisualStudio开发目录树中以及在已部署的情况下相互调用的简单惯用方法是什么?(假设Inno安装程序就是安装程序。) 目前,我在.NET配置文件元素“appSettings”中定义了一个值,以指定invocableMyApp.exe文件在开发目录树中的位置。在“appSettings”中,我将提供字符串“.\..\..\..\projectName\bin\DebugOrRelease\MyApp.exe”,并让程序使用\if DEBUG设置编译时常量布

VisualStudio应用程序在VisualStudio开发目录树中以及在已部署的情况下相互调用的简单惯用方法是什么?(假设Inno安装程序就是安装程序。)

目前,我在.NET配置文件元素“appSettings”中定义了一个值,以指定invocable
MyApp.exe
文件在开发目录树中的位置。在
“appSettings”
中,我将提供字符串
“.\..\..\..\projectName\bin\DebugOrRelease\MyApp.exe”
,并让程序使用
\if DEBUG
设置编译时常量布尔值。编译时常量布尔值用于将
“DebugOrRelease”
标记转换为
“Debug”
“Release”
。使用转换的令牌,将检查文件是否存在。如果文件不存在,“invoker”程序推断我们不是处于开发状态,而是处于部署状态,因此目标变为
“\MyApp.exe”
。显然,我告诉Inno安装程序将所有可执行文件放到同一个文件夹中,这是使用Inno安装向导创建Inno安装脚本时的默认行为

我曾试图避免使用PATH环境变量,原因可能并不完全合理,但我确实对使用默认的变间距无衬线字体(其中“1”看起来像“l”)为其他人的商业应用程序编辑路径有着遥远的记忆两者看起来都像缓慢闪烁的光标,整个路径字符串的宽度大约是文本框的10倍,键盘自动重复既太快又太延迟。换句话说,我讨厌编辑路径、默认字体和键盘参数以及光标闪烁率和文本框似乎不适合此用途。也许Inno安装程序编译可以进行自动路径编辑,但无论如何,我也不喜欢对环境施加任何影响。这是一种污染。此外,一个好的解决方案应该同时适用于开发机器和部署机器。然而,我完全希望我想要部署的一些应用程序需要添加路径,而我更不愿意添加到开发机器的路径中。开发机器上的一切都是暂时的,为暂时的需要编辑路径很烦人。若开发朝着不同的方向进行,我将不得不记住将其从路径中移除。最后,我认为Inno设置路径编辑由某种插件()支持,我更喜欢不涉及其他工具的解决方案


考虑到我对修改路径的厌恶,我在这里设计和描述的是使用Inno设置部署的Visual Studio解决方案的通用解决方案。虽然它不涉及大量的代码,但它确实让我觉得很尴尬,因此我的问题是,如何更简单、更惯用地实现这一点?

使用PATH通常是一个非常严重的错误。其他任何东西都更好,而不仅仅是简单地为所有可执行文件使用一个已知的目录。简单的解决方案。第二个最好的可能是。因此,可能有一个构建后过程会从开发目录树复制到众所周知的位置。在我设计这个方案时,我不知道后期构建过程。使用PATH通常是一个非常严重的错误。其他任何东西都更好,而不仅仅是简单地为所有可执行文件使用一个已知的目录。简单的解决方案。第二个最好的可能是。因此,可能有一个构建后过程会从开发目录树复制到众所周知的位置。在我设计这个方案时,我不知道后期构建过程。