开发者

How can I read the OutputDirectory property from a vcproj (2008) file in a wrapper script?

I am trying to write an MSBuild wrapper script that builds a vcproj (well, a solution containing vcproj files) and then copies the output of a particular vcproj file into a special "package" directory that is in turn published out to a file share. I need to do this for several Configurations and Platforms (Debug, Release, Win32, x64). Ideally, I would like to be able to read the "OutputDirectory" from the vcproj file for a particular Configuration/Platform so that I can then copy its contents. With csproj files, this is simple, as I can "import" the csproj file into my MSBuild wrapper script and then read the "OutputPath" property. Unfortunately, I cannot import vcproj (for VS 2008) files into an MSBuild script, as they are not MSBuild-compatible, so that approach does not work.

Does anyone know a way that I can read the value of the "OutputDirectory" property form a vcproj file? Please note that I do not want to use XPath and r开发者_开发问答oll this myself, as the raw OutputDirectory property looks something like "$(ProjectDir)\bin\$(ConfigurationName)\$(PlatformName)". I want all those macros expanded for me, just as would be done when running vcbuild.


You can extract OutputPath for each Configuration in separate property files like Debug.Properties, Release.Properties, etc and then import appropriate one using directive in both vcproj and msbuild script files.

<Import Project="Debug.Properties" />

Or Dynamically depends on Configuration:

<Import Project="$(ConfigurationBasedPropertiesFile)" />

Set value of the property $(ConfigurationBasedPropertiesFile) considering current Configuration

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜