Visual studio Visual Studio生成项目并在生成后运行事件

Visual studio Visual Studio生成项目并在生成后运行事件,visual-studio,msbuild,visual-studio-2015,build-process,Visual Studio,Msbuild,Visual Studio 2015,Build Process,我有一个项目,我们叫它“MyLib.lib”。我有另一个项目,测试该项目的所有功能。让我们称之为“TestMyLib.exe” 我希望这样,无论何时构建MyLib.lib,它都会作为构建后步骤运行TestMyLib.exe 所以通常我只会添加一个运行TestMyLib.exe的构建后事件。问题是这个项目也需要构建,并且依赖于MyLib.lib 所以我有点循环依赖的问题 我想知道如何在MyLib.lib运行之后构建TestMyLib.exe 生成并运行TestMyLib.exe。两个项目都在同一个

我有一个项目,我们叫它“MyLib.lib”。我有另一个项目,测试该项目的所有功能。让我们称之为“TestMyLib.exe”

我希望这样,无论何时构建MyLib.lib,它都会作为构建后步骤运行TestMyLib.exe

所以通常我只会添加一个运行TestMyLib.exe的构建后事件。问题是这个项目也需要构建,并且依赖于MyLib.lib

所以我有点循环依赖的问题

我想知道如何在MyLib.lib运行之后构建TestMyLib.exe 生成并运行TestMyLib.exe。两个项目都在同一个项目中 解决方案


msbuildtestmylib.vcxproj/p:Configuration=$(配置)/p:Platform=$(平台)
在生成后事件的命令行上

msbuildtestmylib.vcxproj/p:Configuration=$(配置)/p:Platform=$(平台)
在生成后事件的命令行上

为什么不在Exe上设置生成后事件,使Exe依赖于Lib,并且无论何时您要生成Lib,您都会实际生成Exe(及其依赖项包括Lib,其生成后事件包括测试)。没有循环依赖关系。利润。因为如果人们不必运行测试,他们就不会这么做。我想强制运行测试。如果您想构建此产品的新版本,最好通过所有测试。您确实有一个观点,但是:为了确保测试运行,对于所有可能的配置/平台选项,您最好(并且更安全、更确定)不依赖人来运行测试,而是在某种构建服务器上运行测试。除此之外,@mainactual提出的建议实际上相当普遍。在一个解决方案中配置lib项目和测试项目,以便测试在libs之后生成,并在后期生成中运行其exe。因此,在构建解决方案时,测试也会运行。我们有一个构建服务器,但人们仍然习惯于构建并从本地机器向某人发送热修复程序。这正是我想做的??这是一个完整的解决方案??为什么不在Exe上设置生成后事件,使Exe依赖于库,并且无论何时您要生成库,您都实际生成Exe(及其依赖项包括库,其生成后事件包括测试)。没有循环依赖关系。利润。因为如果人们不必运行测试,他们就不会这么做。我想强制运行测试。如果您想构建此产品的新版本,最好通过所有测试。您确实有一个观点,但是:为了确保测试运行,对于所有可能的配置/平台选项,您最好(并且更安全、更确定)不依赖人来运行测试,而是在某种构建服务器上运行测试。除此之外,@mainactual提出的建议实际上相当普遍。在一个解决方案中配置lib项目和测试项目,以便测试在libs之后生成,并在后期生成中运行其exe。因此,在构建解决方案时,测试也会运行。我们有一个构建服务器,但人们仍然习惯于构建并从本地机器向某人发送热修复程序。这正是我想做的??这是一个解决方案吗??