MSBuild + Объем имущества
Я определяю свойство в файле.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 ответ
Исходя из того, что я знаю о MsBuild, это невозможно "стандартным" способом. Но вот варианты, которых вы можете достичь: 1) Передайте значения свойств в командной строке MSBuild для построения корневого решения: msbuild mySolution.sln / t: Build /p:Configuration=...;Platform=...;DeploymentBranch=...; AppRoot =...
2) В вашем refproj.csproj вы можете импортировать main.csproj. но имейте в виду "относительность" ваших путей и тот main.csproj может переопределить ваши свойства и цели refproj.csproj.