1

.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>

参照されているプロジェクト、つまりファイルrefproj.csprojのプロパティ$(DeploymentBranch)または$(AppRoot)にアクセスする方法はありますか。

今それらにアクセスしようとすると、値は空白になります

4

1 に答える 1

1

私がMsBuildについて知っていることに基づくと、これは「標準的な」方法では不可能です。ただし、これを実現できるオプションは次のとおりです。1)ルートソリューションを構築するためにMSBuildコマンドラインでプロパティ値を渡します。msbuildmySolution.sln / t:Build / p:Configuration = ...; Platform = ...; DeploymentBranch = ...; AppRoot=..。

2)refproj.csprojで、main.csprojをインポートできます。ただし、パスの「相対性」と、main.csprojがrefproj.csprojのプロパティとターゲットをオーバーライドする可能性があることに注意してください。

詳細はこちらをご覧ください

于 2013-01-08T21:23:59.440 に答える