Visual studio TeamCity中VStudio的宏变量未设置

Visual studio TeamCity中VStudio的宏变量未设置,visual-studio,macros,teamcity,Visual Studio,Macros,Teamcity,我必须在Visual Studio中使用预构建事件,以便将文件从模板版本复制到可编译版本,或者调用工具来转换文件,具体取决于我处于调试模式还是发布模式。 如前所述,我使用了调试开关 if $(ConfigurationName) == Debug goto :debug $(SolutionDir)\Tools\MyTool\Translate -i $(ProjectDir)\Themes\Generic.Template.xaml -o $(ProjectDir)\Themes\Gener

我必须在Visual Studio中使用预构建事件,以便将文件从模板版本复制到可编译版本,或者调用工具来转换文件,具体取决于我处于调试模式还是发布模式。 如前所述,我使用了调试开关

if $(ConfigurationName) == Debug goto :debug

$(SolutionDir)\Tools\MyTool\Translate -i $(ProjectDir)\Themes\Generic.Template.xaml -o $(ProjectDir)\Themes\Generic.xaml 

goto :end

:debug

copy /y $(ProjectDir)\Themes\Generic.Template.xaml $(ProjectDir)\Themes\Generic.xaml

:end
只要我使用本地的Visual Studio,一切都正常。但在使用TeamCity构建时,Studio宏变量设置不正确。生成服务器上未安装Visual Studio本身。作为构建脚本,我们使用f#make,它使用解决方案文件调用msbuild。本地调用构建批处理也运行得很好,因此TeamCity似乎以某种方式隐藏了这些变量


是否存在任何已知问题?

我确实知道,在针对.sln文件进行构建时,msbuild和devenv.exe之间存在明显的差异。例如,msbuild驱动的生成不会生成Visual Studio部署项目。我无法确定预构建步骤中的效果

我建议将TeamCity构建步骤更改为使用devenv.exe而不是msbuild(可能需要一个命令行构建步骤),然后看看它是否工作得更好

TeamCity提供了一些构建参数,可帮助您在代理上找到devenv.exe的正确路径。它们是env.VS100COMNTOOLS和VS2010\u Path。

我使用$(ProjectDir)\。。相反,请尝试摆脱DevStudio宏:/