应用程序可执行路径C#

应用程序可执行路径C#,c#,deployment,path,executable,C#,Deployment,Path,Executable,我已经在VisualStudio2010C#解决方案中添加了一个可执行文件。在此可执行文件的属性中,可执行文件路径是完整路径(“C:\Test\MyProgram\MyProgram.exe”) 在新PC上部署解决方案(使用installshield)时,可执行文件与一些源文件和解决方案文件一起是已部署解决方案的一部分。到现在为止,一直都还不错。 但当我打开已安装的解决方案文件(在Visual Studio 2010中)时, 我无法构建它,因为它无法在指定路径中找到可执行文件: (“C:\Tes

我已经在VisualStudio2010C#解决方案中添加了一个可执行文件。在此可执行文件的属性中,可执行文件路径是完整路径(“C:\Test\MyProgram\MyProgram.exe”) 在新PC上部署解决方案(使用installshield)时,可执行文件与一些源文件和解决方案文件一起是已部署解决方案的一部分。到现在为止,一直都还不错。 但当我打开已安装的解决方案文件(在Visual Studio 2010中)时, 我无法构建它,因为它无法在指定路径中找到可执行文件: (“C:\Test\MyProgram\”)

问题是:如何更改可执行文件的完整路径,从而获得新PC上安装解决方案的路径。类似于: “[InstallDir]\MyProgram.exe”

谢谢


更新:我发现可以在应用程序的可执行路径中使用相对路径。谢谢你的回答

你可以用房地产

我只是在胡思乱想。也许有更简单的方法。我认为您可能需要创建一个自定义操作,该操作在安装程序末尾运行,手动打开.xxproj文件,并手动编辑引用的路径。如另一张海报所述,您可以从TargetDir属性获取新路径:


创建自定义操作的示例:

将项目中的可执行文件添加到主目录,右键单击->复制到输出目录->复制


这是将文件复制到目标目录并让SourceControl Visual studio插件管理它的最简单方法。

您的可执行文件应该位于项目源文件结构中的某个位置,可能位于子文件夹中。当您将此可执行文件添加到项目中时,应将其添加到您想要的相对路径上。如果未发生这种情况,则应手动编辑
csprj
文件。为此,右键单击项目,卸载它,再次右键单击并编辑项目文件

当然,您的可执行文件应该将其属性
buildaction
设置为
None
,并将
复制到您想要的输出目录

如果由于某种原因,您无法将此可执行文件直接添加到项目文件结构中,我建议使用预构建事件将其从存在的位置复制到项目文件中