MSBuild +财产范围

时间:2013-01-08 20:50:21

标签: msbuild msbuild-propertygroup

我在.csproj文件中定义了一个属性

 <PropertyGroup>
<ProjectGuid>{3099AE33-98E7-4018-B0C3-4C3A37A6D56E}</ProjectGuid>
<OutputType>Exe</OutputType>
<!-- Property for CASI Dev Build location -->
<AppRoot>$(INETROOT)\target\distrib\$(BuildType)\$(BuildArchitecture)\CASI_Dev</AppRoot>
<DeploymentBranch>Dev</DeploymentBranch>

我也有一个参考项目:说

<ItemGroup>
<ProjectReference Include="$(INETROOT)\refproj.csproj">
  <Project>{F73278A5-AB7E-4FFD-8592-F135E7DB06F2}</Project>
  <Name>RemoteProj</Name>
</ProjectReference>

是否有某种方法可以在引用的项目中访问属性$(DeploymentBranch)或$(AppRoot),即文件refproj.csproj。

如果我现在尝试访问它们,则值为空

1 个答案:

答案 0 :(得分:1)

基于我对MsBuild的了解,这是“标准”方式无法实现的。但是这里有你可以实现的选项: 1)在MSBuild命令行中传递属性值以构建根解决方案: msbuild mySolution.sln / t:Build / p:Configuration = ...; Platform = ...; DeploymentBranch = ...; AppRoot = ...

2)在你的refproj.csproj中,你可以导入main.csproj。但请记住路径的“相对性”,并且main.csproj可能会覆盖您的refproj.csproj属性和目标。

See more information here

相关问题