Я создал сценарий MSBuild для нашего процесса CI, и в этом сценарии я использую задачу MSBuild для компиляции решения:
<PropertyGroup>
<MyOutPath>Output</MyOutPath>
</PropertyGroup>
<MSBuild
Projects="MySolution.sln"
Targets="Clean;Rebuild"
Properties="OutputPath=$(MyOutPath)\%24(AssemblyName)">
</MSBuild>
Я хочу, чтобы в файлах проекта c # использовался путь вывода, например
- Выходные данные \ MyAssemblyName1 для проекта MyAssemblyName1
- Вывод \ MyAssemblyName2 для проекта MyAssemblyName2
Свойство AssemblyName взято из файла проекта C #, и я хочу, чтобы оно было раскрыто в свойстве OutputPath при построении проекта.
Сейчас% 24 (AssemblyName) просто создает Output \ $ (AssemblyName) в файловой системе, а это не то, что мне нужно.
Не удивительно, что использование $ (AssemblyName) расширяется до нуля в «родительском» файле MSBuild.
Есть ли способ отложить разрешение свойства AssemblyName позже в файле целевого проекта?
Кроме того, я не хочу изменять файл .csproj, так как я хочу наименьшего воздействия от системы CI.