Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Msbuild 如何从包装器脚本中的vcproj(2008)文件中读取OutputDirectory属性?_Msbuild_Vcproj - Fatal编程技术网

Msbuild 如何从包装器脚本中的vcproj(2008)文件中读取OutputDirectory属性?

Msbuild 如何从包装器脚本中的vcproj(2008)文件中读取OutputDirectory属性?,msbuild,vcproj,Msbuild,Vcproj,我正在尝试编写一个MSBuild包装器脚本,该脚本构建一个vcproj(好的,是一个包含vcproj文件的解决方案),然后将特定vcproj文件的输出复制到一个特殊的“package”目录中,然后发布到文件共享中。我需要为几种配置和平台(调试、发布、Win32、x64)执行此操作。理想情况下,我希望能够从特定配置/平台的vcproj文件中读取“OutputDirectory”,以便复制其内容。对于csproj文件,这很简单,因为我可以将csproj文件“导入”到我的MSBuild包装脚本中,然后

我正在尝试编写一个MSBuild包装器脚本,该脚本构建一个vcproj(好的,是一个包含vcproj文件的解决方案),然后将特定vcproj文件的输出复制到一个特殊的“package”目录中,然后发布到文件共享中。我需要为几种配置和平台(调试、发布、Win32、x64)执行此操作。理想情况下,我希望能够从特定配置/平台的vcproj文件中读取“OutputDirectory”,以便复制其内容。对于csproj文件,这很简单,因为我可以将csproj文件“导入”到我的MSBuild包装脚本中,然后读取“OutputPath”属性。不幸的是,我无法将vcproj(用于VS 2008)文件导入到MSBuild脚本中,因为它们与MSBuild不兼容,所以这种方法不起作用


有人知道我可以从vcproj文件中读取“OutputDirectory”属性值的方法吗?请注意,我不想自己使用XPath并使用它,因为原始OutputDirectory属性类似于“$(ProjectDir)\bin\$(ConfigurationName)\$(PlatformName)”。我希望为我扩展所有这些宏,就像运行vcbuild时一样。

您可以在单独的属性文件中为每个配置提取
OutputPath
,如
Debug.Properties、Release.Properties等,然后在vcproj和msbuild脚本文件中使用指令导入相应的属性

<Import Project="Debug.Properties" />

或动态地取决于配置:

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

考虑到当前配置,设置属性值
$(ConfigurationBasedProperties文件)