我正在使用 Visual Studio 2017,C# 类库项目。我在这个项目的构建后事件中有一堆代码。该项目被单元测试项目引用。在运行单元测试项目的情况下,我不想运行构建后事件代码。在我的库的构建后事件中,我如何识别是否因为运行单元测试或直接构建库而调用了构建事件?
我在想的另一种方法是,在执行单元测试时将 $(ConfigurationName) 更改为UnitTest 。我不知道如何为引用的项目动态更改它。
编辑: 这是我在库项目的构建后事件中的代码。
cd "$(ProjectDir)"
echo %branch%
if $(ConfigurationName)==Release goto :SKIP
if $(ConfigurationName)==Interactive goto :SKIP
set configfile=$(ProjectDir)Configurations\$(ConfigurationName)-App.config
set sourcedir=$(ProjectDir)$(OutDir)
set destdir=\Program Files\Project\AppServer $(ConfigurationName)\
echo config = %configfile%
echo source = %sourcedir%
echo dest = %destdir%
echo
echo net stop "Application Server $(ConfigurationName)" > %TMP%\$(ConfigurationName)deploy.cmd
echo copy "%sourcedir%*.*" "%destdir%" >> %TMP%\$(ConfigurationName)deploy.cmd
echo copy "%configfile%" "%destdir%AppServer.exe.config" >> %TMP%\$(ConfigurationName)deploy.cmd
echo net start "Application Server $(ConfigurationName)" >> %TMP%\$(ConfigurationName)deploy.cmd
echo pause >> %TMP%\$(ConfigurationName)deploy.cmd
cmd /c elevate %TMP%\$(ConfigurationName)deploy.cmd
goto :EXIT
:SKIP
echo Skipping local deployment for configuration $(ConfigurationName)
:EXIT