如何将外部文件读取到Visual Studio中生成后事件的变量中

本文关键字:事件 变量 Studio Visual 外部 文件 读取 | 更新日期: 2023-09-27 18:19:53

是否有方法将外部文件的内容读取到Visual Studio后生成事件中的变量中?

我想这样做的原因是,我们希望每个开发人员都运行一个生成后事件,将生成的程序集复制到某个本地UNC路径,但每个开发人员可能都有不同的UNC路径。因此,我们无法将路径硬编码到项目文件中。如果我们可以从外部文件中读取,那么我们可以在源代码管理中忽略它,而只依赖于在该文件中设置路径值。

如果无法读取文件,我们还有其他方法可以实现吗?

如何将外部文件读取到Visual Studio中生成后事件的变量中

据我所知,在VS后构建事件中,您无法将外部文件读取到变量中。但是,您可以运行外部批处理文件并为其提供参数。这允许我们通过将此类脚本从源代码管理中排除,然后在构建后事件中检查它们的存在,并在它们存在的情况下执行它们,来完成每个开发人员的构建后批脚本,如下所示:

CD "$(ProjectDir)"
IF EXIST postBuild.bat (
@ECHO Post-build script exists at: $(ProjectDir)postBuild.bat - executing...
CALL "$(ProjectDir)postBuild.bat" "$(TargetPath)" "$(TargetDir)"
)

显然,批处理文件和后期构建稍后可以进行扩展,以便在需要时传递更多参数。项目目录中的批处理文件postBuild.bat看起来像这样:

@REM **********
@REM Post-build script; assumes params:
@REM postBuild.bat "$(TargetPath)" "$(TargetDir)"
@REM **********
@ECHO TargetPath: %1
@ECHO TargetDir: %2
[...]