0

我正在使用 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
4

0 回答 0